[INFO] cloning repository https://github.com/0xhappyboy/uniswap-sdk
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/0xhappyboy/uniswap-sdk" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0xhappyboy%2Funiswap-sdk", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0xhappyboy%2Funiswap-sdk'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2bf05dde23bd1b86ea32f53b44ae24c89b6478d7
[INFO] testing 0xhappyboy/uniswap-sdk against master#1ef7943ee607160a564655b6596f83670ef95df5 for pr-146098-6
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0xhappyboy%2Funiswap-sdk" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/0xhappyboy/uniswap-sdk
[INFO] finished tweaking git repo https://github.com/0xhappyboy/uniswap-sdk
[INFO] tweaked toml for git repo https://github.com/0xhappyboy/uniswap-sdk written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/0xhappyboy/uniswap-sdk on toolchain 1ef7943ee607160a564655b6596f83670ef95df5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/0xhappyboy/uniswap-sdk 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" "+1ef7943ee607160a564655b6596f83670ef95df5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded crunchy v0.2.4
[INFO] [stderr]   Downloaded rlp v0.5.2
[INFO] [stderr]   Downloaded uint v0.10.0
[INFO] [stderr]   Downloaded primitive-types v0.14.0
[INFO] [stderr]   Downloaded scale-info v2.11.6
[INFO] [stderr]   Downloaded constant_time_eq v0.1.5
[INFO] [stderr]   Downloaded impl-codec v0.7.1
[INFO] [stderr]   Downloaded open-fastrlp-derive v0.1.1
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.54
[INFO] [stderr]   Downloaded cargo_metadata v0.18.1
[INFO] [stderr]   Downloaded impl-rlp v0.3.0
[INFO] [stderr]   Downloaded option-ext v0.2.0
[INFO] [stderr]   Downloaded potential_utf v0.1.3
[INFO] [stderr]   Downloaded send_wrapper v0.4.0
[INFO] [stderr]   Downloaded instant v0.1.13
[INFO] [stderr]   Downloaded ethers-addressbook v2.0.14
[INFO] [stderr]   Downloaded gloo-timers v0.2.6
[INFO] [stderr]   Downloaded send_wrapper v0.6.0
[INFO] [stderr]   Downloaded eth-keystore v0.5.0
[INFO] [stderr]   Downloaded csv-core v0.1.13
[INFO] [stderr]   Downloaded toml v0.8.23
[INFO] [stderr]   Downloaded eyre v0.6.12
[INFO] [stderr]   Downloaded prettyplease v0.2.37
[INFO] [stderr]   Downloaded toml_edit v0.22.27
[INFO] [stderr]   Downloaded home v0.5.11
[INFO] [stderr]   Downloaded ethers-core v2.0.14
[INFO] [stderr]   Downloaded solang-parser v0.3.3
[INFO] [stderr]   Downloaded evm-client v0.1.5
[INFO] [stderr]   Downloaded proptest v1.8.0
[INFO] [stderr]   Downloaded js-sys v0.3.81
[INFO] [stderr]   Downloaded const_format_proc_macros v0.2.34
[INFO] [stderr]   Downloaded bzip2 v0.4.4
[INFO] [stderr]   Downloaded deranged v0.5.4
[INFO] [stderr]   Downloaded chrono v0.4.42
[INFO] [stderr]   Downloaded term v0.7.0
[INFO] [stderr]   Downloaded icu_provider v2.0.0
[INFO] [stderr]   Downloaded tracing-attributes v0.1.30
[INFO] [stderr]   Downloaded icu_normalizer v2.0.0
[INFO] [stderr]   Downloaded icu_normalizer_data v2.0.0
[INFO] [stderr]   Downloaded icu_locale_core v2.0.0
[INFO] [stderr]   Downloaded openssl-sys v0.9.109
[INFO] [stderr]   Downloaded icu_collections v2.0.0
[INFO] [stderr]   Downloaded const_format v0.2.35
[INFO] [stderr]   Downloaded indexmap v2.11.4
[INFO] [stderr]   Downloaded itertools v0.11.0
[INFO] [stderr]   Downloaded zerovec v0.11.4
[INFO] [stderr]   Downloaded icu_properties_data v2.0.1
[INFO] [stderr]   Downloaded ethers-solc v2.0.14
[INFO] [stderr]   Downloaded cc v1.2.41
[INFO] [stderr]   Downloaded flate2 v1.1.4
[INFO] [stderr]   Downloaded lalrpop v0.20.2
[INFO] [stderr]   Downloaded openssl v0.10.73
[INFO] [stderr]   Downloaded hashers v1.0.1
[INFO] [stderr]   Downloaded bitvec v1.0.1
[INFO] [stderr]   Downloaded syn v2.0.106
[INFO] [stderr]   Downloaded zerotrie v0.2.2
[INFO] [stderr]   Downloaded icu_properties v2.0.1
[INFO] [stderr]   Downloaded evm-sdk v0.5.0
[INFO] [stderr]   Downloaded parity-scale-codec v3.7.5
[INFO] [stderr]   Downloaded mio v1.0.4
[INFO] [stderr]   Downloaded parity-scale-codec-derive v3.7.5
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.104
[INFO] [stderr]   Downloaded litemap v0.8.0
[INFO] [stderr]   Downloaded writeable v0.6.1
[INFO] [stderr]   Downloaded yoke-derive v0.8.0
[INFO] [stderr]   Downloaded yoke v0.8.0
[INFO] [stderr]   Downloaded csv v1.4.0
[INFO] [stderr]   Downloaded password-hash v0.4.2
[INFO] [stderr]   Downloaded zstd v0.11.2+zstd.1.5.2
[INFO] [stderr]   Downloaded md-5 v0.10.6
[INFO] [stderr]   Downloaded path-slash v0.2.1
[INFO] [stderr]   Downloaded ascii-canvas v3.0.0
[INFO] [stderr]   Downloaded bzip2-sys v0.1.13+1.0.8
[INFO] [stderr]   Downloaded web-sys v0.3.81
[INFO] [stderr]   Downloaded bit-vec v0.6.3
[INFO] [stderr]   Downloaded petgraph v0.6.5
[INFO] [stderr]   Downloaded bit-set v0.5.3
[INFO] [stderr]   Downloaded wyz v0.5.1
[INFO] [stderr]   Downloaded ethers-providers v2.0.14
[INFO] [stderr]   Downloaded tiny-keccak v2.0.2
[INFO] [stderr]   Downloaded rustc-hex v2.1.0
[INFO] [stderr]   Downloaded fixed-hash v0.8.0
[INFO] [stderr]   Downloaded funty v2.0.0
[INFO] [stderr]   Downloaded radium v0.7.0
[INFO] [stderr]   Downloaded coins-bip39 v0.8.7
[INFO] [stderr]   Downloaded derive_more-impl v1.0.0
[INFO] [stderr]   Downloaded derive_more v1.0.0
[INFO] [stderr]   Downloaded ena v0.14.3
[INFO] [stderr]   Downloaded phf v0.11.3
[INFO] [stderr]   Downloaded redox_users v0.4.6
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.104
[INFO] [stderr]   Downloaded tinystr v0.8.1
[INFO] [stderr]   Downloaded zerovec-derive v0.11.1
[INFO] [stderr]   Downloaded pin-project v1.1.10
[INFO] [stderr]   Downloaded camino v1.2.1
[INFO] [stderr]   Downloaded impl-serde v0.4.0
[INFO] [stderr]   Downloaded dirs-sys v0.4.1
[INFO] [stderr]   Downloaded hyper-rustls v0.24.2
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.104
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.104
[INFO] [stderr]   Downloaded zip v0.6.6
[INFO] [stderr]   Downloaded svm-rs v0.3.5
[INFO] [stderr]   Downloaded ethers-contract-abigen v2.0.14
[INFO] [stderr]   Downloaded ethers-contract v2.0.14
[INFO] [stderr]   Downloaded ethers-etherscan v2.0.14
[INFO] [stderr]   Downloaded ethers-middleware v2.0.14
[INFO] [stderr]   Downloaded enr v0.10.0
[INFO] [stderr]   Downloaded jsonwebtoken v8.3.0
[INFO] [stderr]   Downloaded pin-project-internal v1.1.10
[INFO] [stderr]   Downloaded tracing-futures v0.2.5
[INFO] [stderr]   Downloaded async_io_stream v0.3.3
[INFO] [stderr]   Downloaded pharos v0.5.3
[INFO] [stderr]   Downloaded ws_stream_wasm v0.7.5
[INFO] [stderr]   Downloaded uuid v0.8.2
[INFO] [stderr]   Downloaded ethers-signers v2.0.14
[INFO] [stderr]   Downloaded windows-core v0.62.2
[INFO] [stderr]   Downloaded iana-time-zone v0.1.64
[INFO] [stderr]   Downloaded const-hex v1.17.0
[INFO] [stderr]   Downloaded ethabi v18.0.0
[INFO] [stderr]   Downloaded auto_impl v1.3.0
[INFO] [stderr]   Downloaded string_cache v0.8.9
[INFO] [stderr]   Downloaded lalrpop-util v0.20.2
[INFO] [stderr]   Downloaded phf_generator v0.11.3
[INFO] [stderr]   Downloaded dirs v5.0.1
[INFO] [stderr]   Downloaded zstd-safe v5.0.2+zstd.1.5.2
[INFO] [stderr]   Downloaded yansi v0.5.1
[INFO] [stderr]   Downloaded tap v1.0.1
[INFO] [stderr]   Downloaded indenter v0.3.4
[INFO] [stderr]   Downloaded serde_spanned v0.6.9
[INFO] [stderr]   Downloaded toml_datetime v0.6.11
[INFO] [stderr]   Downloaded toml_write v0.1.2
[INFO] [stderr]   Downloaded ethers-contract-derive v2.0.14
[INFO] [stderr]   Downloaded futures-locks v0.7.1
[INFO] [stderr]   Downloaded spin v0.5.2
[INFO] [stderr]   Downloaded untrusted v0.7.1
[INFO] [stderr]   Downloaded simple_asn1 v0.6.3
[INFO] [stderr]   Downloaded ripemd v0.1.3
[INFO] [stderr]   Downloaded coins-core v0.8.7
[INFO] [stderr]   Downloaded coins-bip32 v0.8.7
[INFO] [stderr]   Downloaded salsa20 v0.10.2
[INFO] [stderr]   Downloaded dunce v1.0.5
[INFO] [stderr]   Downloaded windows-interface v0.59.3
[INFO] [stderr]   Downloaded rand_xorshift v0.4.0
[INFO] [stderr]   Downloaded fixedbitset v0.4.2
[INFO] [stderr]   Downloaded dirs-sys-next v0.1.2
[INFO] [stderr]   Downloaded phf_macros v0.11.3
[INFO] [stderr]   Downloaded fs2 v0.4.3
[INFO] [stderr]   Downloaded impl-trait-for-tuples v0.2.3
[INFO] [stderr]   Downloaded windows-result v0.4.1
[INFO] [stderr]   Downloaded scale-info-derive v2.11.6
[INFO] [stderr]   Downloaded glob v0.3.3
[INFO] [stderr]   Downloaded dirs-next v2.0.0
[INFO] [stderr]   Downloaded cargo-platform v0.1.9
[INFO] [stderr]   Downloaded windows-strings v0.5.1
[INFO] [stderr]   Downloaded unarray v0.1.4
[INFO] [stderr]   Downloaded num_enum_derive v0.7.4
[INFO] [stderr]   Downloaded new_debug_unreachable v1.0.6
[INFO] [stderr]   Downloaded precomputed-hash v0.1.1
[INFO] [stderr]   Downloaded byte-slice-cast v1.2.3
[INFO] [stderr]   Downloaded fxhash v0.2.1
[INFO] [stderr]   Downloaded scrypt v0.10.0
[INFO] [stderr]   Downloaded windows-implement v0.60.2
[INFO] [stderr]   Downloaded num_enum v0.7.4
[INFO] [stderr]   Downloaded impl-codec v0.6.0
[INFO] [stderr]   Downloaded phf_shared v0.11.3
[INFO] [stderr]   Downloaded ethbloom v0.13.0
[INFO] [stderr]   Downloaded primitive-types v0.12.2
[INFO] [stderr]   Downloaded ethereum-types v0.14.1
[INFO] [stderr]   Downloaded windows-sys v0.59.0
[INFO] [stderr]   Downloaded open-fastrlp v0.1.4
[INFO] [stderr]   Downloaded rlp-derive v0.1.0
[INFO] [stderr]   Downloaded strum v0.26.3
[INFO] [stderr]   Downloaded libredox v0.1.10
[INFO] [stderr]   Downloaded ethers v2.0.14
[INFO] [stderr]   Downloaded cfg-if v1.0.3
[INFO] [stderr]   Downloaded proc-macro2 v1.0.101
[INFO] [stderr]   Downloaded unicode-ident v1.0.19
[INFO] [stderr]   Downloaded strum_macros v0.26.4
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.104
[INFO] [stderr]   Downloaded bitflags v2.9.4
[INFO] [stderr]   Downloaded ring v0.16.20
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 773f23b7811317a4fa2e76b2ad63c03749633c0b87982537138826c2ce81415f
[INFO] running `Command { std: "docker" "start" "-a" "773f23b7811317a4fa2e76b2ad63c03749633c0b87982537138826c2ce81415f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "773f23b7811317a4fa2e76b2ad63c03749633c0b87982537138826c2ce81415f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "773f23b7811317a4fa2e76b2ad63c03749633c0b87982537138826c2ce81415f", kill_on_drop: false }`
[INFO] [stdout] 773f23b7811317a4fa2e76b2ad63c03749633c0b87982537138826c2ce81415f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 154c890c9761f0842b98a39900d68d3a7ed4976d71fd5cc2db9b0ac7ddaae71c
[INFO] running `Command { std: "docker" "start" "-a" "154c890c9761f0842b98a39900d68d3a7ed4976d71fd5cc2db9b0ac7ddaae71c", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling indexmap v2.11.4
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling cc v1.2.41
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling toml_edit v0.23.7
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling rustc-hex v2.1.0
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.34
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling parity-scale-codec v3.7.5
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling const_format v0.2.35
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling byte-slice-cast v1.2.3
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling base16ct v0.2.0
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling rlp-derive v0.1.0
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling ff v0.13.1
[INFO] [stderr]    Compiling camino v1.2.1
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling group v0.13.0
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling sec1 v0.7.3
[INFO] [stderr]    Compiling fixed-hash v0.8.0
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling crypto-bigint v0.5.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling writeable v0.6.1
[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 derive_more-impl v1.0.0
[INFO] [stderr]    Compiling scale-info-derive v2.11.6
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling derive_more v1.0.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling elliptic-curve v0.13.8
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling auto_impl v1.3.0
[INFO] [stderr]    Compiling rfc6979 v0.4.0
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.3
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.104
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling ecdsa v0.16.9
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling impl-serde v0.4.0
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling rlp v0.5.2
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling open-fastrlp-derive v0.1.1
[INFO] [stderr]    Compiling num_enum_derive v0.7.4
[INFO] [stderr]    Compiling impl-codec v0.6.0
[INFO] [stderr]    Compiling scale-info v2.11.6
[INFO] [stderr]    Compiling impl-rlp v0.3.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling uint v0.9.5
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling num_enum v0.7.4
[INFO] [stderr]    Compiling ethbloom v0.13.0
[INFO] [stderr]    Compiling primitive-types v0.12.2
[INFO] [stderr]    Compiling k256 v0.13.4
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling const-hex v1.17.0
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling ethereum-types v0.14.1
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.104
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.104
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling ethabi v18.0.0
[INFO] [stderr]    Compiling open-fastrlp v0.1.4
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling cargo_metadata v0.18.1
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling wasm-bindgen v0.2.104
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling ethers-core v2.0.14
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.104
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling deranged v0.5.4
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling indenter v0.3.4
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling Inflector v0.11.4
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling js-sys v0.3.81
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling bs58 v0.5.1
[INFO] [stderr]    Compiling ripemd v0.1.3
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling bech32 v0.9.1
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling pem v1.1.1
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling tungstenite v0.20.1
[INFO] [stderr]    Compiling coins-core v0.8.7
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling wyz v0.5.1
[INFO] [stderr]    Compiling simple_asn1 v0.6.3
[INFO] [stderr]    Compiling salsa20 v0.10.2
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling pbkdf2 v0.11.0
[INFO] [stderr]    Compiling funty v2.0.0
[INFO] [stderr]    Compiling send_wrapper v0.4.0
[INFO] [stderr]    Compiling scrypt v0.10.0
[INFO] [stderr]    Compiling gloo-timers v0.2.6
[INFO] [stderr]    Compiling bitvec v1.0.1
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling hashers v1.0.1
[INFO] [stderr]    Compiling jsonwebtoken v8.3.0
[INFO] [stderr]    Compiling tokio-tungstenite v0.20.1
[INFO] [stderr]    Compiling coins-bip32 v0.8.7
[INFO] [stderr]    Compiling tracing-futures v0.2.5
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling enr v0.10.0
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling ethers-etherscan v2.0.14
[INFO] [stderr]    Compiling ethers-providers v2.0.14
[INFO] [stderr]    Compiling ethers-contract-abigen v2.0.14
[INFO] [stderr]    Compiling eth-keystore v0.5.0
[INFO] [stderr]    Compiling futures-locks v0.7.1
[INFO] [stderr]    Compiling coins-bip39 v0.8.7
[INFO] [stderr]    Compiling ethers-addressbook v2.0.14
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling ethers-signers v2.0.14
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling uint v0.10.0
[INFO] [stderr]    Compiling primitive-types v0.14.0
[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 evm-client v0.1.5
[INFO] [stderr]    Compiling evm-sdk v0.5.0
[INFO] [stderr]    Compiling uniswap-sdk v0.6.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/analyze.rs:274:29
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let overall_score = (liquidity_metrics.score * 0.3
[INFO] [stdout]     |                             ^
[INFO] [stdout] ...
[INFO] [stdout] 277 |             + stability_metrics.score * 0.2);
[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] 274 ~         let overall_score = liquidity_metrics.score * 0.3
[INFO] [stdout] 275 |             + volume_metrics.score * 0.3
[INFO] [stdout] 276 |             + concentration_metrics.score * 0.2
[INFO] [stdout] 277 ~             + stability_metrics.score * 0.2 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/analyze.rs:875:28
[INFO] [stdout]     |
[INFO] [stdout] 875 |         let weighted_avg = (historical_volume * 0.3);
[INFO] [stdout]     |                            ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 875 -         let weighted_avg = (historical_volume * 0.3);
[INFO] [stdout] 875 +         let weighted_avg = historical_volume * 0.3 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/liquidity.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 142 |         Ok(pools)
[INFO] [stdout]     |         ^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/liquidity.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let mut pools = Vec::new();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/liquidity.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 209 |         Ok(U256::from(1000000))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/price.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 167 |         Ok((None, 18))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/farm.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 287 |         Ok(total_staked.as_u128() as f64 / 1e18)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/farm.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 338 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 339 |         let farm_detail = self.get_farm_detail(farm_address).await?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/oracle.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 131 |         Ok(1.0)
[INFO] [stdout]     |         ^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/oracle.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 175 |         Ok(1.0)
[INFO] [stdout]     |         ^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/oracle.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 184 |         Ok(1.0)
[INFO] [stdout]     |         ^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/oracle.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 193 |         Ok(1.0)
[INFO] [stdout]     |         ^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lib.rs:913:9
[INFO] [stdout]     |
[INFO] [stdout] 912 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 913 |         Ok(balance)
[INFO] [stdout]     |         ^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/events.rs:182:28
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 if let Err(e) = Self::poll_events(
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[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_addresses`
[INFO] [stdout]    --> src/events.rs:398:9
[INFO] [stdout]     |
[INFO] [stdout] 398 |         token_addresses: &[Address],
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_addresses`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token0`
[INFO] [stdout]    --> src/events.rs:512:9
[INFO] [stdout]     |
[INFO] [stdout] 512 |         token0: Address,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_token0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token1`
[INFO] [stdout]    --> src/events.rs:513:9
[INFO] [stdout]     |
[INFO] [stdout] 513 |         token1: Address,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_token1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/price.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |         token_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pair_address`
[INFO] [stdout]    --> src/liquidity.rs:207:38
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub async fn get_lp_token_supply(pair_address: Address) -> Result<U256, EvmError> {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pair_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/liquidity.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |         token_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/liquidity.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |         token_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/liquidity.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pools`
[INFO] [stdout]    --> src/liquidity.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let mut pools = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pools`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/price.rs:405:45
[INFO] [stdout]     |
[INFO] [stdout] 405 |     async fn cal_recent_price_change(&self, token_address: Address, chain: crate::EvmType) -> f64 {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/price.rs:405:69
[INFO] [stdout]     |
[INFO] [stdout] 405 |     async fn cal_recent_price_change(&self, token_address: Address, chain: crate::EvmType) -> f64 {
[INFO] [stdout]     |                                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sell_pool`
[INFO] [stdout]    --> src/analyze.rs:664:28
[INFO] [stdout]     |
[INFO] [stdout] 664 |             let (buy_pool, sell_pool) = if self.get_token_price_from_pool(pool1, token).await?
[INFO] [stdout]     |                            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sell_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stability`
[INFO] [stdout]    --> src/analyze.rs:898:9
[INFO] [stdout]     |
[INFO] [stdout] 898 |         stability: &StabilityMetrics,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stability`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]   --> src/farm.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         chain: EvmType,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rewards_duration`
[INFO] [stdout]    --> src/farm.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |         rewards_duration: U256,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rewards_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lp_token`
[INFO] [stdout]    --> src/farm.rs:285:35
[INFO] [stdout]     |
[INFO] [stdout] 285 |     async fn calculate_tvl(&self, lp_token: Address, total_staked: U256) -> Result<f64, EvmError> {
[INFO] [stdout]     |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lp_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_staked`
[INFO] [stdout]    --> src/farm.rs:285:54
[INFO] [stdout]     |
[INFO] [stdout] 285 |     async fn calculate_tvl(&self, lp_token: Address, total_staked: U256) -> Result<f64, EvmError> {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_staked`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_address`
[INFO] [stdout]     --> src/analyze.rs:1026:9
[INFO] [stdout]      |
[INFO] [stdout] 1026 |         user_address: Address,
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `farm_address`
[INFO] [stdout]    --> src/farm.rs:335:9
[INFO] [stdout]     |
[INFO] [stdout] 335 |         farm_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_farm_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `days`
[INFO] [stdout]    --> src/farm.rs:336:9
[INFO] [stdout]     |
[INFO] [stdout] 336 |         days: u64,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_days`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `farm_detail`
[INFO] [stdout]    --> src/farm.rs:339:13
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let farm_detail = self.get_farm_detail(farm_address).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_farm_detail`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/farm.rs:339:27
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let farm_detail = self.get_farm_detail(farm_address).await?;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `history`
[INFO] [stdout]    --> src/farm.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let mut history = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_history`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/farm.rs:341:13
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let now = chrono::Utc::now().timestamp() as u64;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/farm.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |         for i in 0..days {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]    --> src/farm.rs:343:17
[INFO] [stdout]     |
[INFO] [stdout] 343 |             let timestamp = now - (i * 24 * 3600);
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_address`
[INFO] [stdout]   --> src/oracle.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         pool_address: Address,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/oracle.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |         token: Address,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/oracle.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/oracle.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |         token: Address,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/oracle.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/oracle.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |         token: Address,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/oracle.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/oracle.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |         token: Address,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/oracle.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/oracle.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_address`
[INFO] [stdout]    --> src/risk.rs:249:9
[INFO] [stdout]     |
[INFO] [stdout] 249 |         pool_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `swap`
[INFO] [stdout]    --> src/risk.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 254 |     async fn analyze_mempool(&self, swap: &PendingSwap) -> Result<MempoolAnalysis, EvmError> {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_swap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `swap`
[INFO] [stdout]    --> src/risk.rs:261:44
[INFO] [stdout]     |
[INFO] [stdout] 261 |     async fn calculate_price_impact(&self, swap: &PendingSwap) -> Result<f64, EvmError> {
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_swap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_address`
[INFO] [stdout]    --> src/risk.rs:264:40
[INFO] [stdout]     |
[INFO] [stdout] 264 |     async fn get_pool_liquidity(&self, pool_address: Address) -> Result<U256, EvmError> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/router.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/router.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/router.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account`
[INFO] [stdout]    --> src/lib.rs:907:9
[INFO] [stdout]     |
[INFO] [stdout] 907 |         account: Address,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `currency`
[INFO] [stdout]    --> src/lib.rs:908:9
[INFO] [stdout]     |
[INFO] [stdout] 908 |         currency: Address,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_currency`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_manager`
[INFO] [stdout]    --> src/lib.rs:910:13
[INFO] [stdout]     |
[INFO] [stdout] 910 |         let pool_manager = self.pool_manager(manager_address);
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `balance`
[INFO] [stdout]    --> src/lib.rs:911:13
[INFO] [stdout]     |
[INFO] [stdout] 911 |         let balance = U256::zero();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_swap_events_in_range` is never used
[INFO] [stdout]    --> src/events.rs:565:14
[INFO] [stdout]     |
[INFO] [stdout] 548 | impl UniswapEventManager {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 565 |     async fn get_swap_events_in_range(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `price` is never read
[INFO] [stdout]   --> src/liquidity.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct LiquidityPool {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 11 |     price: Arc<Price>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_pair_liquidity_details` is never used
[INFO] [stdout]   --> src/liquidity.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl LiquidityPool {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     async fn get_pair_liquidity_details(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `evm` is never read
[INFO] [stdout]   --> src/liquidity.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct LiquidityPoolFinder {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 79 |     evm: Arc<Evm>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `event_manager` is never read
[INFO] [stdout]   --> src/price.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Price {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     event_manager: Arc<UniswapEventManager>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total_liquidity` and `liquidity_depth` are never read
[INFO] [stdout]    --> src/analyze.rs:917:5
[INFO] [stdout]     |
[INFO] [stdout] 915 | struct LiquidityMetrics {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 916 |     score: f64,
[INFO] [stdout] 917 |     total_liquidity: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 918 |     liquidity_depth: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LiquidityMetrics` 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 `volume_24h` and `volume_trend` are never read
[INFO] [stdout]    --> src/analyze.rs:924:5
[INFO] [stdout]     |
[INFO] [stdout] 922 | struct VolumeMetrics {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 923 |     score: f64,
[INFO] [stdout] 924 |     volume_24h: f64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 925 |     volume_trend: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VolumeMetrics` 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 `reserve_ratio` is never read
[INFO] [stdout]    --> src/analyze.rs:931:5
[INFO] [stdout]     |
[INFO] [stdout] 929 | struct ConcentrationMetrics {
[INFO] [stdout]     |        -------------------- field in this struct
[INFO] [stdout] 930 |     score: f64,
[INFO] [stdout] 931 |     reserve_ratio: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConcentrationMetrics` 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 `price_volatility` and `max_drawdown` are never read
[INFO] [stdout]    --> src/analyze.rs:938:5
[INFO] [stdout]     |
[INFO] [stdout] 936 | struct StabilityMetrics {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 937 |     score: f64,
[INFO] [stdout] 938 |     price_volatility: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 939 |     max_drawdown: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StabilityMetrics` 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 `evm` and `uniswap_versions` are never read
[INFO] [stdout]   --> src/oracle.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct PriceOracleAggregator {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 35 |     evm: Arc<Evm>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 36 |     uniswap_versions: Vec<UniswapVersion>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `evm` is never read
[INFO] [stdout]   --> src/risk.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Risk {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 38 |     evm: Arc<Evm>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pending_swaps_count` and `average_gas_price` are never read
[INFO] [stdout]    --> src/risk.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | struct MempoolAnalysis {
[INFO] [stdout]     |        --------------- fields in this struct
[INFO] [stdout] 279 |     suspicious_activity: bool,
[INFO] [stdout] 280 |     pending_swaps_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 281 |     average_gas_price: U256,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MempoolAnalysis` 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 `evm` is never read
[INFO] [stdout]    --> src/router.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct SmartRouter {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 102 |     evm: Arc<Evm>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 43s
[INFO] running `Command { std: "docker" "inspect" "154c890c9761f0842b98a39900d68d3a7ed4976d71fd5cc2db9b0ac7ddaae71c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "154c890c9761f0842b98a39900d68d3a7ed4976d71fd5cc2db9b0ac7ddaae71c", kill_on_drop: false }`
[INFO] [stdout] 154c890c9761f0842b98a39900d68d3a7ed4976d71fd5cc2db9b0ac7ddaae71c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a87ab1fbf7393b3f9bbe5d28e85e24e983c94aac873f8b554746955beec0f88e
[INFO] running `Command { std: "docker" "start" "-a" "a87ab1fbf7393b3f9bbe5d28e85e24e983c94aac873f8b554746955beec0f88e", kill_on_drop: false }`
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/analyze.rs:274:29
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let overall_score = (liquidity_metrics.score * 0.3
[INFO] [stdout]     |                             ^
[INFO] [stdout] ...
[INFO] [stdout] 277 |             + stability_metrics.score * 0.2);
[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] 274 ~         let overall_score = liquidity_metrics.score * 0.3
[INFO] [stdout] 275 |             + volume_metrics.score * 0.3
[INFO] [stdout] 276 |             + concentration_metrics.score * 0.2
[INFO] [stdout] 277 ~             + stability_metrics.score * 0.2 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/analyze.rs:875:28
[INFO] [stdout]     |
[INFO] [stdout] 875 |         let weighted_avg = (historical_volume * 0.3);
[INFO] [stdout]     |                            ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 875 -         let weighted_avg = (historical_volume * 0.3);
[INFO] [stdout] 875 +         let weighted_avg = historical_volume * 0.3 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/liquidity.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 142 |         Ok(pools)
[INFO] [stdout]     |         ^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/liquidity.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let mut pools = Vec::new();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/liquidity.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 209 |         Ok(U256::from(1000000))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/price.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 167 |         Ok((None, 18))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/farm.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 287 |         Ok(total_staked.as_u128() as f64 / 1e18)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/farm.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 338 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 339 |         let farm_detail = self.get_farm_detail(farm_address).await?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/oracle.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 131 |         Ok(1.0)
[INFO] [stdout]     |         ^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/oracle.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 175 |         Ok(1.0)
[INFO] [stdout]     |         ^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/oracle.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 184 |         Ok(1.0)
[INFO] [stdout]     |         ^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/oracle.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 193 |         Ok(1.0)
[INFO] [stdout]     |         ^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lib.rs:913:9
[INFO] [stdout]     |
[INFO] [stdout] 912 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 913 |         Ok(balance)
[INFO] [stdout]     |         ^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/events.rs:182:28
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 if let Err(e) = Self::poll_events(
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[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_addresses`
[INFO] [stdout]    --> src/events.rs:398:9
[INFO] [stdout]     |
[INFO] [stdout] 398 |         token_addresses: &[Address],
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_addresses`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token0`
[INFO] [stdout]    --> src/events.rs:512:9
[INFO] [stdout]     |
[INFO] [stdout] 512 |         token0: Address,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_token0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token1`
[INFO] [stdout]    --> src/events.rs:513:9
[INFO] [stdout]     |
[INFO] [stdout] 513 |         token1: Address,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_token1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/price.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |         token_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pair_address`
[INFO] [stdout]    --> src/liquidity.rs:207:38
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub async fn get_lp_token_supply(pair_address: Address) -> Result<U256, EvmError> {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pair_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/liquidity.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |         token_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/liquidity.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |         token_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/liquidity.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pools`
[INFO] [stdout]    --> src/liquidity.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let mut pools = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pools`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/price.rs:405:45
[INFO] [stdout]     |
[INFO] [stdout] 405 |     async fn cal_recent_price_change(&self, token_address: Address, chain: crate::EvmType) -> f64 {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/price.rs:405:69
[INFO] [stdout]     |
[INFO] [stdout] 405 |     async fn cal_recent_price_change(&self, token_address: Address, chain: crate::EvmType) -> f64 {
[INFO] [stdout]     |                                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sell_pool`
[INFO] [stdout]    --> src/analyze.rs:664:28
[INFO] [stdout]     |
[INFO] [stdout] 664 |             let (buy_pool, sell_pool) = if self.get_token_price_from_pool(pool1, token).await?
[INFO] [stdout]     |                            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sell_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stability`
[INFO] [stdout]    --> src/analyze.rs:898:9
[INFO] [stdout]     |
[INFO] [stdout] 898 |         stability: &StabilityMetrics,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stability`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]   --> src/farm.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         chain: EvmType,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rewards_duration`
[INFO] [stdout]    --> src/farm.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |         rewards_duration: U256,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rewards_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lp_token`
[INFO] [stdout]    --> src/farm.rs:285:35
[INFO] [stdout]     |
[INFO] [stdout] 285 |     async fn calculate_tvl(&self, lp_token: Address, total_staked: U256) -> Result<f64, EvmError> {
[INFO] [stdout]     |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lp_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_staked`
[INFO] [stdout]    --> src/farm.rs:285:54
[INFO] [stdout]     |
[INFO] [stdout] 285 |     async fn calculate_tvl(&self, lp_token: Address, total_staked: U256) -> Result<f64, EvmError> {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_staked`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_address`
[INFO] [stdout]     --> src/analyze.rs:1026:9
[INFO] [stdout]      |
[INFO] [stdout] 1026 |         user_address: Address,
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `farm_address`
[INFO] [stdout]    --> src/farm.rs:335:9
[INFO] [stdout]     |
[INFO] [stdout] 335 |         farm_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_farm_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `days`
[INFO] [stdout]    --> src/farm.rs:336:9
[INFO] [stdout]     |
[INFO] [stdout] 336 |         days: u64,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_days`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `farm_detail`
[INFO] [stdout]    --> src/farm.rs:339:13
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let farm_detail = self.get_farm_detail(farm_address).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_farm_detail`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/farm.rs:339:27
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let farm_detail = self.get_farm_detail(farm_address).await?;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `history`
[INFO] [stdout]    --> src/farm.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let mut history = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_history`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/farm.rs:341:13
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let now = chrono::Utc::now().timestamp() as u64;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/farm.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |         for i in 0..days {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]    --> src/farm.rs:343:17
[INFO] [stdout]     |
[INFO] [stdout] 343 |             let timestamp = now - (i * 24 * 3600);
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_address`
[INFO] [stdout]   --> src/oracle.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         pool_address: Address,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/oracle.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |         token: Address,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/oracle.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/oracle.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |         token: Address,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/oracle.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/oracle.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |         token: Address,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/oracle.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/oracle.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |         token: Address,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/oracle.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/oracle.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_address`
[INFO] [stdout]    --> src/risk.rs:249:9
[INFO] [stdout]     |
[INFO] [stdout] 249 |         pool_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `swap`
[INFO] [stdout]    --> src/risk.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 254 |     async fn analyze_mempool(&self, swap: &PendingSwap) -> Result<MempoolAnalysis, EvmError> {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_swap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `swap`
[INFO] [stdout]    --> src/risk.rs:261:44
[INFO] [stdout]     |
[INFO] [stdout] 261 |     async fn calculate_price_impact(&self, swap: &PendingSwap) -> Result<f64, EvmError> {
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_swap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_address`
[INFO] [stdout]    --> src/risk.rs:264:40
[INFO] [stdout]     |
[INFO] [stdout] 264 |     async fn get_pool_liquidity(&self, pool_address: Address) -> Result<U256, EvmError> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/router.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/router.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/router.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account`
[INFO] [stdout]    --> src/lib.rs:907:9
[INFO] [stdout]     |
[INFO] [stdout] 907 |         account: Address,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `currency`
[INFO] [stdout]    --> src/lib.rs:908:9
[INFO] [stdout]     |
[INFO] [stdout] 908 |         currency: Address,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_currency`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_manager`
[INFO] [stdout]    --> src/lib.rs:910:13
[INFO] [stdout]     |
[INFO] [stdout] 910 |         let pool_manager = self.pool_manager(manager_address);
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `balance`
[INFO] [stdout]    --> src/lib.rs:911:13
[INFO] [stdout]     |
[INFO] [stdout] 911 |         let balance = U256::zero();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_swap_events_in_range` is never used
[INFO] [stdout]    --> src/events.rs:565:14
[INFO] [stdout]     |
[INFO] [stdout] 548 | impl UniswapEventManager {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 565 |     async fn get_swap_events_in_range(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `price` is never read
[INFO] [stdout]   --> src/liquidity.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct LiquidityPool {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 11 |     price: Arc<Price>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_pair_liquidity_details` is never used
[INFO] [stdout]   --> src/liquidity.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl LiquidityPool {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     async fn get_pair_liquidity_details(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `evm` is never read
[INFO] [stdout]   --> src/liquidity.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct LiquidityPoolFinder {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 79 |     evm: Arc<Evm>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `event_manager` is never read
[INFO] [stdout]   --> src/price.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Price {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     event_manager: Arc<UniswapEventManager>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total_liquidity` and `liquidity_depth` are never read
[INFO] [stdout]    --> src/analyze.rs:917:5
[INFO] [stdout]     |
[INFO] [stdout] 915 | struct LiquidityMetrics {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 916 |     score: f64,
[INFO] [stdout] 917 |     total_liquidity: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 918 |     liquidity_depth: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LiquidityMetrics` 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 `volume_24h` and `volume_trend` are never read
[INFO] [stdout]    --> src/analyze.rs:924:5
[INFO] [stdout]     |
[INFO] [stdout] 922 | struct VolumeMetrics {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 923 |     score: f64,
[INFO] [stdout] 924 |     volume_24h: f64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 925 |     volume_trend: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VolumeMetrics` 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 `reserve_ratio` is never read
[INFO] [stdout]    --> src/analyze.rs:931:5
[INFO] [stdout]     |
[INFO] [stdout] 929 | struct ConcentrationMetrics {
[INFO] [stdout]     |        -------------------- field in this struct
[INFO] [stdout] 930 |     score: f64,
[INFO] [stdout] 931 |     reserve_ratio: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConcentrationMetrics` 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 `price_volatility` and `max_drawdown` are never read
[INFO] [stdout]    --> src/analyze.rs:938:5
[INFO] [stdout]     |
[INFO] [stdout] 936 | struct StabilityMetrics {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 937 |     score: f64,
[INFO] [stdout] 938 |     price_volatility: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 939 |     max_drawdown: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StabilityMetrics` 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 `evm` and `uniswap_versions` are never read
[INFO] [stdout]   --> src/oracle.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct PriceOracleAggregator {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 35 |     evm: Arc<Evm>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 36 |     uniswap_versions: Vec<UniswapVersion>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `evm` is never read
[INFO] [stdout]   --> src/risk.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Risk {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 38 |     evm: Arc<Evm>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pending_swaps_count` and `average_gas_price` are never read
[INFO] [stdout]    --> src/risk.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | struct MempoolAnalysis {
[INFO] [stdout]     |        --------------- fields in this struct
[INFO] [stdout] 279 |     suspicious_activity: bool,
[INFO] [stdout] 280 |     pending_swaps_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 281 |     average_gas_price: U256,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MempoolAnalysis` 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 `evm` is never read
[INFO] [stdout]    --> src/router.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct SmartRouter {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 102 |     evm: Arc<Evm>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling uniswap-sdk v0.6.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/analyze.rs:274:29
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let overall_score = (liquidity_metrics.score * 0.3
[INFO] [stdout]     |                             ^
[INFO] [stdout] ...
[INFO] [stdout] 277 |             + stability_metrics.score * 0.2);
[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] 274 ~         let overall_score = liquidity_metrics.score * 0.3
[INFO] [stdout] 275 |             + volume_metrics.score * 0.3
[INFO] [stdout] 276 |             + concentration_metrics.score * 0.2
[INFO] [stdout] 277 ~             + stability_metrics.score * 0.2 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/analyze.rs:875:28
[INFO] [stdout]     |
[INFO] [stdout] 875 |         let weighted_avg = (historical_volume * 0.3);
[INFO] [stdout]     |                            ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 875 -         let weighted_avg = (historical_volume * 0.3);
[INFO] [stdout] 875 +         let weighted_avg = historical_volume * 0.3 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/liquidity.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 142 |         Ok(pools)
[INFO] [stdout]     |         ^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/liquidity.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let mut pools = Vec::new();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/liquidity.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 209 |         Ok(U256::from(1000000))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/price.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 167 |         Ok((None, 18))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/farm.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 287 |         Ok(total_staked.as_u128() as f64 / 1e18)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/farm.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 338 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 339 |         let farm_detail = self.get_farm_detail(farm_address).await?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/oracle.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 131 |         Ok(1.0)
[INFO] [stdout]     |         ^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/oracle.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 175 |         Ok(1.0)
[INFO] [stdout]     |         ^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/oracle.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 184 |         Ok(1.0)
[INFO] [stdout]     |         ^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/oracle.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 193 |         Ok(1.0)
[INFO] [stdout]     |         ^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lib.rs:913:9
[INFO] [stdout]     |
[INFO] [stdout] 912 |         todo!();
[INFO] [stdout]     |         ------- any code following this expression is unreachable
[INFO] [stdout] 913 |         Ok(balance)
[INFO] [stdout]     |         ^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/events.rs:182:28
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 if let Err(e) = Self::poll_events(
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[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_addresses`
[INFO] [stdout]    --> src/events.rs:398:9
[INFO] [stdout]     |
[INFO] [stdout] 398 |         token_addresses: &[Address],
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_addresses`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token0`
[INFO] [stdout]    --> src/events.rs:512:9
[INFO] [stdout]     |
[INFO] [stdout] 512 |         token0: Address,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_token0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token1`
[INFO] [stdout]    --> src/events.rs:513:9
[INFO] [stdout]     |
[INFO] [stdout] 513 |         token1: Address,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_token1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/price.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |         token_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pair_address`
[INFO] [stdout]    --> src/liquidity.rs:207:38
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub async fn get_lp_token_supply(pair_address: Address) -> Result<U256, EvmError> {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pair_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/liquidity.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |         token_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/liquidity.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |         token_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/liquidity.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pools`
[INFO] [stdout]    --> src/liquidity.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let mut pools = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pools`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/price.rs:405:45
[INFO] [stdout]     |
[INFO] [stdout] 405 |     async fn cal_recent_price_change(&self, token_address: Address, chain: crate::EvmType) -> f64 {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/price.rs:405:69
[INFO] [stdout]     |
[INFO] [stdout] 405 |     async fn cal_recent_price_change(&self, token_address: Address, chain: crate::EvmType) -> f64 {
[INFO] [stdout]     |                                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sell_pool`
[INFO] [stdout]    --> src/analyze.rs:664:28
[INFO] [stdout]     |
[INFO] [stdout] 664 |             let (buy_pool, sell_pool) = if self.get_token_price_from_pool(pool1, token).await?
[INFO] [stdout]     |                            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sell_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stability`
[INFO] [stdout]    --> src/analyze.rs:898:9
[INFO] [stdout]     |
[INFO] [stdout] 898 |         stability: &StabilityMetrics,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stability`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]   --> src/farm.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         chain: EvmType,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rewards_duration`
[INFO] [stdout]    --> src/farm.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |         rewards_duration: U256,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rewards_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lp_token`
[INFO] [stdout]    --> src/farm.rs:285:35
[INFO] [stdout]     |
[INFO] [stdout] 285 |     async fn calculate_tvl(&self, lp_token: Address, total_staked: U256) -> Result<f64, EvmError> {
[INFO] [stdout]     |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lp_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_staked`
[INFO] [stdout]    --> src/farm.rs:285:54
[INFO] [stdout]     |
[INFO] [stdout] 285 |     async fn calculate_tvl(&self, lp_token: Address, total_staked: U256) -> Result<f64, EvmError> {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_staked`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_address`
[INFO] [stdout]     --> src/analyze.rs:1026:9
[INFO] [stdout]      |
[INFO] [stdout] 1026 |         user_address: Address,
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `farm_address`
[INFO] [stdout]    --> src/farm.rs:335:9
[INFO] [stdout]     |
[INFO] [stdout] 335 |         farm_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_farm_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `days`
[INFO] [stdout]    --> src/farm.rs:336:9
[INFO] [stdout]     |
[INFO] [stdout] 336 |         days: u64,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_days`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `farm_detail`
[INFO] [stdout]    --> src/farm.rs:339:13
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let farm_detail = self.get_farm_detail(farm_address).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_farm_detail`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/farm.rs:339:27
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let farm_detail = self.get_farm_detail(farm_address).await?;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `history`
[INFO] [stdout]    --> src/farm.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let mut history = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_history`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/farm.rs:341:13
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let now = chrono::Utc::now().timestamp() as u64;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/farm.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |         for i in 0..days {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]    --> src/farm.rs:343:17
[INFO] [stdout]     |
[INFO] [stdout] 343 |             let timestamp = now - (i * 24 * 3600);
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_address`
[INFO] [stdout]   --> src/oracle.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         pool_address: Address,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/oracle.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |         token: Address,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/oracle.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/oracle.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |         token: Address,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/oracle.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/oracle.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |         token: Address,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/oracle.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/oracle.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |         token: Address,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/oracle.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/oracle.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_address`
[INFO] [stdout]    --> src/risk.rs:249:9
[INFO] [stdout]     |
[INFO] [stdout] 249 |         pool_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `swap`
[INFO] [stdout]    --> src/risk.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 254 |     async fn analyze_mempool(&self, swap: &PendingSwap) -> Result<MempoolAnalysis, EvmError> {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_swap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `swap`
[INFO] [stdout]    --> src/risk.rs:261:44
[INFO] [stdout]     |
[INFO] [stdout] 261 |     async fn calculate_price_impact(&self, swap: &PendingSwap) -> Result<f64, EvmError> {
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_swap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_address`
[INFO] [stdout]    --> src/risk.rs:264:40
[INFO] [stdout]     |
[INFO] [stdout] 264 |     async fn get_pool_liquidity(&self, pool_address: Address) -> Result<U256, EvmError> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/router.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/router.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain`
[INFO] [stdout]    --> src/router.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |         chain: crate::EvmType,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account`
[INFO] [stdout]    --> src/lib.rs:907:9
[INFO] [stdout]     |
[INFO] [stdout] 907 |         account: Address,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `currency`
[INFO] [stdout]    --> src/lib.rs:908:9
[INFO] [stdout]     |
[INFO] [stdout] 908 |         currency: Address,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_currency`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_manager`
[INFO] [stdout]    --> src/lib.rs:910:13
[INFO] [stdout]     |
[INFO] [stdout] 910 |         let pool_manager = self.pool_manager(manager_address);
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `balance`
[INFO] [stdout]    --> src/lib.rs:911:13
[INFO] [stdout]     |
[INFO] [stdout] 911 |         let balance = U256::zero();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_swap_events_in_range` is never used
[INFO] [stdout]    --> src/events.rs:565:14
[INFO] [stdout]     |
[INFO] [stdout] 548 | impl UniswapEventManager {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 565 |     async fn get_swap_events_in_range(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `price` is never read
[INFO] [stdout]   --> src/liquidity.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct LiquidityPool {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 11 |     price: Arc<Price>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_pair_liquidity_details` is never used
[INFO] [stdout]   --> src/liquidity.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl LiquidityPool {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     async fn get_pair_liquidity_details(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `evm` is never read
[INFO] [stdout]   --> src/liquidity.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct LiquidityPoolFinder {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 79 |     evm: Arc<Evm>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `event_manager` is never read
[INFO] [stdout]   --> src/price.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Price {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     event_manager: Arc<UniswapEventManager>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total_liquidity` and `liquidity_depth` are never read
[INFO] [stdout]    --> src/analyze.rs:917:5
[INFO] [stdout]     |
[INFO] [stdout] 915 | struct LiquidityMetrics {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 916 |     score: f64,
[INFO] [stdout] 917 |     total_liquidity: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 918 |     liquidity_depth: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LiquidityMetrics` 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 `volume_24h` and `volume_trend` are never read
[INFO] [stdout]    --> src/analyze.rs:924:5
[INFO] [stdout]     |
[INFO] [stdout] 922 | struct VolumeMetrics {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 923 |     score: f64,
[INFO] [stdout] 924 |     volume_24h: f64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 925 |     volume_trend: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VolumeMetrics` 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 `reserve_ratio` is never read
[INFO] [stdout]    --> src/analyze.rs:931:5
[INFO] [stdout]     |
[INFO] [stdout] 929 | struct ConcentrationMetrics {
[INFO] [stdout]     |        -------------------- field in this struct
[INFO] [stdout] 930 |     score: f64,
[INFO] [stdout] 931 |     reserve_ratio: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConcentrationMetrics` 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 `price_volatility` and `max_drawdown` are never read
[INFO] [stdout]    --> src/analyze.rs:938:5
[INFO] [stdout]     |
[INFO] [stdout] 936 | struct StabilityMetrics {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 937 |     score: f64,
[INFO] [stdout] 938 |     price_volatility: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 939 |     max_drawdown: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StabilityMetrics` 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 `evm` and `uniswap_versions` are never read
[INFO] [stdout]   --> src/oracle.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct PriceOracleAggregator {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 35 |     evm: Arc<Evm>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 36 |     uniswap_versions: Vec<UniswapVersion>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `evm` is never read
[INFO] [stdout]   --> src/risk.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Risk {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 38 |     evm: Arc<Evm>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pending_swaps_count` and `average_gas_price` are never read
[INFO] [stdout]    --> src/risk.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | struct MempoolAnalysis {
[INFO] [stdout]     |        --------------- fields in this struct
[INFO] [stdout] 279 |     suspicious_activity: bool,
[INFO] [stdout] 280 |     pending_swaps_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 281 |     average_gas_price: U256,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MempoolAnalysis` 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 `evm` is never read
[INFO] [stdout]    --> src/router.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct SmartRouter {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 102 |     evm: Arc<Evm>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 11.13s
[INFO] running `Command { std: "docker" "inspect" "a87ab1fbf7393b3f9bbe5d28e85e24e983c94aac873f8b554746955beec0f88e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a87ab1fbf7393b3f9bbe5d28e85e24e983c94aac873f8b554746955beec0f88e", kill_on_drop: false }`
[INFO] [stdout] a87ab1fbf7393b3f9bbe5d28e85e24e983c94aac873f8b554746955beec0f88e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ff2b7c840702514a10fe52c22d8e08910a916a57ea0534237a98cf2e17088a2a
[INFO] running `Command { std: "docker" "start" "-a" "ff2b7c840702514a10fe52c22d8e08910a916a57ea0534237a98cf2e17088a2a", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/analyze.rs:274:29
[INFO] [stderr]     |
[INFO] [stderr] 274 |         let overall_score = (liquidity_metrics.score * 0.3
[INFO] [stderr]     |                             ^
[INFO] [stderr] ...
[INFO] [stderr] 277 |             + stability_metrics.score * 0.2);
[INFO] [stderr]     |                                            ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 274 ~         let overall_score = liquidity_metrics.score * 0.3
[INFO] [stderr] 275 |             + volume_metrics.score * 0.3
[INFO] [stderr] 276 |             + concentration_metrics.score * 0.2
[INFO] [stderr] 277 ~             + stability_metrics.score * 0.2 ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/analyze.rs:875:28
[INFO] [stderr]     |
[INFO] [stderr] 875 |         let weighted_avg = (historical_volume * 0.3);
[INFO] [stderr]     |                            ^                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 875 -         let weighted_avg = (historical_volume * 0.3);
[INFO] [stderr] 875 +         let weighted_avg = historical_volume * 0.3 ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/liquidity.rs:142:9
[INFO] [stderr]     |
[INFO] [stderr] 141 |         todo!();
[INFO] [stderr]     |         ------- any code following this expression is unreachable
[INFO] [stderr] 142 |         Ok(pools)
[INFO] [stderr]     |         ^^^^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/liquidity.rs:140:13
[INFO] [stderr]     |
[INFO] [stderr] 140 |         let mut pools = Vec::new();
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/liquidity.rs:209:9
[INFO] [stderr]     |
[INFO] [stderr] 208 |         todo!();
[INFO] [stderr]     |         ------- any code following this expression is unreachable
[INFO] [stderr] 209 |         Ok(U256::from(1000000))
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/price.rs:167:9
[INFO] [stderr]     |
[INFO] [stderr] 166 |         todo!();
[INFO] [stderr]     |         ------- any code following this expression is unreachable
[INFO] [stderr] 167 |         Ok((None, 18))
[INFO] [stderr]     |         ^^^^^^^^^^^^^^ unreachable expression
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/farm.rs:287:9
[INFO] [stderr]     |
[INFO] [stderr] 286 |         todo!();
[INFO] [stderr]     |         ------- any code following this expression is unreachable
[INFO] [stderr] 287 |         Ok(total_staked.as_u128() as f64 / 1e18)
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable statement
[INFO] [stderr]    --> src/farm.rs:339:9
[INFO] [stderr]     |
[INFO] [stderr] 338 |         todo!();
[INFO] [stderr]     |         ------- any code following this expression is unreachable
[INFO] [stderr] 339 |         let farm_detail = self.get_farm_detail(farm_address).await?;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/oracle.rs:131:9
[INFO] [stderr]     |
[INFO] [stderr] 130 |         todo!();
[INFO] [stderr]     |         ------- any code following this expression is unreachable
[INFO] [stderr] 131 |         Ok(1.0)
[INFO] [stderr]     |         ^^^^^^^ unreachable expression
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/oracle.rs:175:9
[INFO] [stderr]     |
[INFO] [stderr] 174 |         todo!();
[INFO] [stderr]     |         ------- any code following this expression is unreachable
[INFO] [stderr] 175 |         Ok(1.0)
[INFO] [stderr]     |         ^^^^^^^ unreachable expression
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/oracle.rs:184:9
[INFO] [stderr]     |
[INFO] [stderr] 183 |         todo!();
[INFO] [stderr]     |         ------- any code following this expression is unreachable
[INFO] [stderr] 184 |         Ok(1.0)
[INFO] [stderr]     |         ^^^^^^^ unreachable expression
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/oracle.rs:193:9
[INFO] [stderr]     |
[INFO] [stderr] 192 |         todo!();
[INFO] [stderr]     |         ------- any code following this expression is unreachable
[INFO] [stderr] 193 |         Ok(1.0)
[INFO] [stderr]     |         ^^^^^^^ unreachable expression
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/lib.rs:913:9
[INFO] [stderr]     |
[INFO] [stderr] 912 |         todo!();
[INFO] [stderr]     |         ------- any code following this expression is unreachable
[INFO] [stderr] 913 |         Ok(balance)
[INFO] [stderr]     |         ^^^^^^^^^^^ unreachable expression
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/events.rs:182:28
[INFO] [stderr]     |
[INFO] [stderr] 182 |                 if let Err(e) = Self::poll_events(
[INFO] [stderr]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token_addresses`
[INFO] [stderr]    --> src/events.rs:398:9
[INFO] [stderr]     |
[INFO] [stderr] 398 |         token_addresses: &[Address],
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_addresses`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token0`
[INFO] [stderr]    --> src/events.rs:512:9
[INFO] [stderr]     |
[INFO] [stderr] 512 |         token0: Address,
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_token0`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token1`
[INFO] [stderr]    --> src/events.rs:513:9
[INFO] [stderr]     |
[INFO] [stderr] 513 |         token1: Address,
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_token1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token_address`
[INFO] [stderr]    --> src/price.rs:164:9
[INFO] [stderr]     |
[INFO] [stderr] 164 |         token_address: Address,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pair_address`
[INFO] [stderr]    --> src/liquidity.rs:207:38
[INFO] [stderr]     |
[INFO] [stderr] 207 |     pub async fn get_lp_token_supply(pair_address: Address) -> Result<U256, EvmError> {
[INFO] [stderr]     |                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pair_address`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token_address`
[INFO] [stderr]    --> src/liquidity.rs:185:9
[INFO] [stderr]     |
[INFO] [stderr] 185 |         token_address: Address,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token_address`
[INFO] [stderr]    --> src/liquidity.rs:137:9
[INFO] [stderr]     |
[INFO] [stderr] 137 |         token_address: Address,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chain`
[INFO] [stderr]    --> src/liquidity.rs:138:9
[INFO] [stderr]     |
[INFO] [stderr] 138 |         chain: crate::EvmType,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pools`
[INFO] [stderr]    --> src/liquidity.rs:140:13
[INFO] [stderr]     |
[INFO] [stderr] 140 |         let mut pools = Vec::new();
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pools`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token_address`
[INFO] [stderr]    --> src/price.rs:405:45
[INFO] [stderr]     |
[INFO] [stderr] 405 |     async fn cal_recent_price_change(&self, token_address: Address, chain: crate::EvmType) -> f64 {
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chain`
[INFO] [stderr]    --> src/price.rs:405:69
[INFO] [stderr]     |
[INFO] [stderr] 405 |     async fn cal_recent_price_change(&self, token_address: Address, chain: crate::EvmType) -> f64 {
[INFO] [stderr]     |                                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sell_pool`
[INFO] [stderr]    --> src/analyze.rs:664:28
[INFO] [stderr]     |
[INFO] [stderr] 664 |             let (buy_pool, sell_pool) = if self.get_token_price_from_pool(pool1, token).await?
[INFO] [stderr]     |                            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sell_pool`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stability`
[INFO] [stderr]    --> src/analyze.rs:898:9
[INFO] [stderr]     |
[INFO] [stderr] 898 |         stability: &StabilityMetrics,
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stability`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chain`
[INFO] [stderr]   --> src/farm.rs:44:9
[INFO] [stderr]    |
[INFO] [stderr] 44 |         chain: EvmType,
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rewards_duration`
[INFO] [stderr]    --> src/farm.rs:274:9
[INFO] [stderr]     |
[INFO] [stderr] 274 |         rewards_duration: U256,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rewards_duration`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lp_token`
[INFO] [stderr]    --> src/farm.rs:285:35
[INFO] [stderr]     |
[INFO] [stderr] 285 |     async fn calculate_tvl(&self, lp_token: Address, total_staked: U256) -> Result<f64, EvmError> {
[INFO] [stderr]     |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lp_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `total_staked`
[INFO] [stderr]    --> src/farm.rs:285:54
[INFO] [stderr]     |
[INFO] [stderr] 285 |     async fn calculate_tvl(&self, lp_token: Address, total_staked: U256) -> Result<f64, EvmError> {
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_staked`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `user_address`
[INFO] [stderr]     --> src/analyze.rs:1026:9
[INFO] [stderr]      |
[INFO] [stderr] 1026 |         user_address: Address,
[INFO] [stderr]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_address`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `farm_address`
[INFO] [stderr]    --> src/farm.rs:335:9
[INFO] [stderr]     |
[INFO] [stderr] 335 |         farm_address: Address,
[INFO] [stderr]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_farm_address`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `days`
[INFO] [stderr]    --> src/farm.rs:336:9
[INFO] [stderr]     |
[INFO] [stderr] 336 |         days: u64,
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_days`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `farm_detail`
[INFO] [stderr]    --> src/farm.rs:339:13
[INFO] [stderr]     |
[INFO] [stderr] 339 |         let farm_detail = self.get_farm_detail(farm_address).await?;
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_farm_detail`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `val`
[INFO] [stderr]    --> src/farm.rs:339:27
[INFO] [stderr]     |
[INFO] [stderr] 339 |         let farm_detail = self.get_farm_detail(farm_address).await?;
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `history`
[INFO] [stderr]    --> src/farm.rs:340:13
[INFO] [stderr]     |
[INFO] [stderr] 340 |         let mut history = Vec::new();
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_history`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `now`
[INFO] [stderr]    --> src/farm.rs:341:13
[INFO] [stderr]     |
[INFO] [stderr] 341 |         let now = chrono::Utc::now().timestamp() as u64;
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/farm.rs:342:13
[INFO] [stderr]     |
[INFO] [stderr] 342 |         for i in 0..days {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `timestamp`
[INFO] [stderr]    --> src/farm.rs:343:17
[INFO] [stderr]     |
[INFO] [stderr] 343 |             let timestamp = now - (i * 24 * 3600);
[INFO] [stderr]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pool_address`
[INFO] [stderr]   --> src/oracle.rs:79:9
[INFO] [stderr]    |
[INFO] [stderr] 79 |         pool_address: Address,
[INFO] [stderr]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_address`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/oracle.rs:127:9
[INFO] [stderr]     |
[INFO] [stderr] 127 |         token: Address,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chain`
[INFO] [stderr]    --> src/oracle.rs:128:9
[INFO] [stderr]     |
[INFO] [stderr] 128 |         chain: crate::EvmType,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/oracle.rs:171:9
[INFO] [stderr]     |
[INFO] [stderr] 171 |         token: Address,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chain`
[INFO] [stderr]    --> src/oracle.rs:172:9
[INFO] [stderr]     |
[INFO] [stderr] 172 |         chain: crate::EvmType,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/oracle.rs:180:9
[INFO] [stderr]     |
[INFO] [stderr] 180 |         token: Address,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chain`
[INFO] [stderr]    --> src/oracle.rs:181:9
[INFO] [stderr]     |
[INFO] [stderr] 181 |         chain: crate::EvmType,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/oracle.rs:189:9
[INFO] [stderr]     |
[INFO] [stderr] 189 |         token: Address,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chain`
[INFO] [stderr]    --> src/oracle.rs:190:9
[INFO] [stderr]     |
[INFO] [stderr] 190 |         chain: crate::EvmType,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chain`
[INFO] [stderr]    --> src/oracle.rs:220:9
[INFO] [stderr]     |
[INFO] [stderr] 220 |         chain: crate::EvmType,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pool_address`
[INFO] [stderr]    --> src/risk.rs:249:9
[INFO] [stderr]     |
[INFO] [stderr] 249 |         pool_address: Address,
[INFO] [stderr]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_address`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `swap`
[INFO] [stderr]    --> src/risk.rs:254:37
[INFO] [stderr]     |
[INFO] [stderr] 254 |     async fn analyze_mempool(&self, swap: &PendingSwap) -> Result<MempoolAnalysis, EvmError> {
[INFO] [stderr]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_swap`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `swap`
[INFO] [stderr]    --> src/risk.rs:261:44
[INFO] [stderr]     |
[INFO] [stderr] 261 |     async fn calculate_price_impact(&self, swap: &PendingSwap) -> Result<f64, EvmError> {
[INFO] [stderr]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_swap`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pool_address`
[INFO] [stderr]    --> src/risk.rs:264:40
[INFO] [stderr]     |
[INFO] [stderr] 264 |     async fn get_pool_liquidity(&self, pool_address: Address) -> Result<U256, EvmError> {
[INFO] [stderr]     |                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_address`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chain`
[INFO] [stderr]    --> src/router.rs:188:9
[INFO] [stderr]     |
[INFO] [stderr] 188 |         chain: crate::EvmType,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chain`
[INFO] [stderr]    --> src/router.rs:205:9
[INFO] [stderr]     |
[INFO] [stderr] 205 |         chain: crate::EvmType,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chain`
[INFO] [stderr]    --> src/router.rs:222:9
[INFO] [stderr]     |
[INFO] [stderr] 222 |         chain: crate::EvmType,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `account`
[INFO] [stderr]    --> src/lib.rs:907:9
[INFO] [stderr]     |
[INFO] [stderr] 907 |         account: Address,
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `currency`
[INFO] [stderr]    --> src/lib.rs:908:9
[INFO] [stderr]     |
[INFO] [stderr] 908 |         currency: Address,
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_currency`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pool_manager`
[INFO] [stderr]    --> src/lib.rs:910:13
[INFO] [stderr]     |
[INFO] [stderr] 910 |         let pool_manager = self.pool_manager(manager_address);
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_manager`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `balance`
[INFO] [stderr]    --> src/lib.rs:911:13
[INFO] [stderr]     |
[INFO] [stderr] 911 |         let balance = U256::zero();
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_balance`
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_swap_events_in_range` is never used
[INFO] [stderr]    --> src/events.rs:565:14
[INFO] [stderr]     |
[INFO] [stderr] 548 | impl UniswapEventManager {
[INFO] [stderr]     | ------------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 565 |     async fn get_swap_events_in_range(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `price` is never read
[INFO] [stderr]   --> src/liquidity.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct LiquidityPool {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] 11 |     price: Arc<Price>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_pair_liquidity_details` is never used
[INFO] [stderr]   --> src/liquidity.rs:17:14
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl LiquidityPool {
[INFO] [stderr]    | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 17 |     async fn get_pair_liquidity_details(
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `evm` is never read
[INFO] [stderr]   --> src/liquidity.rs:79:5
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub struct LiquidityPoolFinder {
[INFO] [stderr]    |            ------------------- field in this struct
[INFO] [stderr] 79 |     evm: Arc<Evm>,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `event_manager` is never read
[INFO] [stderr]   --> src/price.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub struct Price {
[INFO] [stderr]    |            ----- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 34 |     event_manager: Arc<UniswapEventManager>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `total_liquidity` and `liquidity_depth` are never read
[INFO] [stderr]    --> src/analyze.rs:917:5
[INFO] [stderr]     |
[INFO] [stderr] 915 | struct LiquidityMetrics {
[INFO] [stderr]     |        ---------------- fields in this struct
[INFO] [stderr] 916 |     score: f64,
[INFO] [stderr] 917 |     total_liquidity: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 918 |     liquidity_depth: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `LiquidityMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `volume_24h` and `volume_trend` are never read
[INFO] [stderr]    --> src/analyze.rs:924:5
[INFO] [stderr]     |
[INFO] [stderr] 922 | struct VolumeMetrics {
[INFO] [stderr]     |        ------------- fields in this struct
[INFO] [stderr] 923 |     score: f64,
[INFO] [stderr] 924 |     volume_24h: f64,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 925 |     volume_trend: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `VolumeMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `reserve_ratio` is never read
[INFO] [stderr]    --> src/analyze.rs:931:5
[INFO] [stderr]     |
[INFO] [stderr] 929 | struct ConcentrationMetrics {
[INFO] [stderr]     |        -------------------- field in this struct
[INFO] [stderr] 930 |     score: f64,
[INFO] [stderr] 931 |     reserve_ratio: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ConcentrationMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `price_volatility` and `max_drawdown` are never read
[INFO] [stderr]    --> src/analyze.rs:938:5
[INFO] [stderr]     |
[INFO] [stderr] 936 | struct StabilityMetrics {
[INFO] [stderr]     |        ---------------- fields in this struct
[INFO] [stderr] 937 |     score: f64,
[INFO] [stderr] 938 |     price_volatility: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 939 |     max_drawdown: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `StabilityMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `evm` and `uniswap_versions` are never read
[INFO] [stderr]   --> src/oracle.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub struct PriceOracleAggregator {
[INFO] [stderr]    |            --------------------- fields in this struct
[INFO] [stderr] 35 |     evm: Arc<Evm>,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 36 |     uniswap_versions: Vec<UniswapVersion>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `evm` is never read
[INFO] [stderr]   --> src/risk.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub struct Risk {
[INFO] [stderr]    |            ---- field in this struct
[INFO] [stderr] 38 |     evm: Arc<Evm>,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `pending_swaps_count` and `average_gas_price` are never read
[INFO] [stderr]    --> src/risk.rs:280:5
[INFO] [stderr]     |
[INFO] [stderr] 278 | struct MempoolAnalysis {
[INFO] [stderr]     |        --------------- fields in this struct
[INFO] [stderr] 279 |     suspicious_activity: bool,
[INFO] [stderr] 280 |     pending_swaps_count: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 281 |     average_gas_price: U256,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `MempoolAnalysis` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `evm` is never read
[INFO] [stderr]    --> src/router.rs:102:5
[INFO] [stderr]     |
[INFO] [stderr] 101 | pub struct SmartRouter {
[INFO] [stderr]     |            ----------- field in this struct
[INFO] [stderr] 102 |     evm: Arc<Evm>,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `uniswap-sdk` (lib) generated 74 warnings (run `cargo fix --lib -p uniswap-sdk` to apply 51 suggestions)
[INFO] [stderr] warning: `uniswap-sdk` (lib test) generated 74 warnings (74 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.73s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/uniswap_sdk-bc30c487ca1631f5)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests uniswap_sdk
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/analyze.rs:274:29
[INFO] [stderr]     |
[INFO] [stderr] 274 |         let overall_score = (liquidity_metrics.score * 0.3
[INFO] [stderr]     |                             ^
[INFO] [stderr] ...
[INFO] [stderr] 277 |             + stability_metrics.score * 0.2);
[INFO] [stderr]     |                                            ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 274 ~         let overall_score = liquidity_metrics.score * 0.3
[INFO] [stderr] 275 |             + volume_metrics.score * 0.3
[INFO] [stderr] 276 |             + concentration_metrics.score * 0.2
[INFO] [stderr] 277 ~             + stability_metrics.score * 0.2 ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/analyze.rs:875:28
[INFO] [stderr]     |
[INFO] [stderr] 875 |         let weighted_avg = (historical_volume * 0.3);
[INFO] [stderr]     |                            ^                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 875 -         let weighted_avg = (historical_volume * 0.3);
[INFO] [stderr] 875 +         let weighted_avg = historical_volume * 0.3 ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 67 tests
[INFO] [stdout] test src/analyze.rs - analyze::Analyze::detect_arbitrage_opportunities (line 210) ... FAILED
[INFO] [stdout] test src/events.rs - events::TokenPriceEventListener::get_pair_tokens (line 486) ... FAILED
[INFO] [stdout] test src/analyze.rs - analyze::Analyze::monitor_liquidity_changes (line 67) ... FAILED
[INFO] [stdout] test src/analyze.rs - analyze::Analyze::cal_pool_health_score (line 248) ... FAILED
[INFO] [stdout] test src/events.rs - events::FarmEventListener::start_stake_listener (line 643) ... FAILED
[INFO] [stdout] test src/analyze.rs - analyze::Analyze::analyze_fee_efficiency (line 410) ... FAILED
[INFO] [stdout] test src/analyze.rs - analyze::Analyze::discover_trading_pairs (line 297) ... FAILED
[INFO] [stdout] test src/events.rs - events::TokenPriceEventListener::start_price_change_listener (line 333) ... FAILED
[INFO] [stdout] test src/events.rs - events::UniswapEventManager::get_swap_events_in_range (line 557) ... FAILED
[INFO] [stdout] test src/factory.rs - factory::Factory::find_price_pairs (line 48) ... FAILED
[INFO] [stdout] test src/factory.rs - factory::Factory::get_pair_address (line 128) ... FAILED
[INFO] [stdout] test src/events.rs - events::UniswapEventListener::start_swap_listener (line 80) ... FAILED
[INFO] [stdout] test src/factory.rs - factory::Factory::new (line 22) ... FAILED
[INFO] [stdout] test src/farm.rs - farm::FarmService::exit_farm (line 252) ... FAILED
[INFO] [stdout] test src/farm.rs - farm::FarmService::get_all_farms (line 35) ... FAILED
[INFO] [stdout] test src/farm.rs - farm::FarmService::claim_rewards (line 228) ... FAILED
[INFO] [stdout] test src/farm.rs - farm::FarmService::get_farm_detail (line 78) ... FAILED
[INFO] [stdout] test src/farm.rs - farm::FarmService::get_farm_apy (line 296) ... FAILED
[INFO] [stdout] test src/farm.rs - farm::FarmService::unstake (line 204) ... FAILED
[INFO] [stdout] test src/farm.rs - farm::FarmService::get_farm_history (line 327) ... FAILED
[INFO] [stdout] test src/farm.rs - farm::FarmService::get_user_position (line 144) ... FAILED
[INFO] [stdout] test src/farm.rs - farm::FarmService::stake (line 179) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapService::add_liquidity_eth (line 283) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapService::add_liquidity (line 233) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapService::exact_input_single (line 330) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapService::get_amounts_in (line 90) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapService::remove_liquidity (line 439) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapService::remove_liquidity_eth (line 485) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapService::get_amounts_out (line 64) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapService::start_monitoring_new_pairs (line 553) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapService::swap_exact_eth_for_tokens (line 157) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapService::start_monitoring_swaps (line 532) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapV4Service::get_tick_info (line 948) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapV4Service::get_pool_address (line 757) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapV4Service::get_pool_info (line 788) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapService::swap_exact_tokens_for_eth (line 193) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapService::swap_exact_tokens_for_tokens (line 116) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapV4Service::get_pool_price (line 835) ... FAILED
[INFO] [stdout] test src/liquidity.rs - liquidity::LiquidityPoolFinder::find_pools_by_tvl_threshold (line 272) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapV4Service::get_position_info (line 919) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapV4Service::modify_position (line 705) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapV4Service::swap (line 653) ... FAILED
[INFO] [stdout] test src/lib.rs - UniswapV4Service::initialize_pool (line 597) ... FAILED
[INFO] [stdout] test src/liquidity.rs - liquidity::LiquidityPoolFinder::find_top_liquidity_pool (line 246) ... FAILED
[INFO] [stdout] test src/liquidity.rs - liquidity::LiquidityPoolFinder::get_pool_health_score (line 303) ... FAILED
[INFO] [stdout] test src/liquidity.rs - liquidity::LiquidityPoolFinder::get_token_liquidity_overview (line 347) ... FAILED
[INFO] [stdout] test src/oracle.rs - oracle::PriceOracleAggregator::check_price_health (line 203) ... FAILED
[INFO] [stdout] test src/oracle.rs - oracle::PriceOracleAggregator::get_manipulation_resistant_price (line 97) ... FAILED
[INFO] [stdout] test src/oracle.rs - oracle::PriceOracleAggregator::get_twap (line 66) ... FAILED
[INFO] [stdout] test src/oracle.rs - oracle::PriceOracleAggregator::new (line 44) ... FAILED
[INFO] [stdout] test src/price.rs - price::Price::cal_price_impact (line 77) ... FAILED
[INFO] [stdout] test src/price.rs - price::Price::get_token_current_price (line 173) ... FAILED
[INFO] [stdout] test src/price.rs - price::Price::get_token_price_auto (line 50) ... FAILED
[INFO] [stdout] test src/price.rs - price::TokenPriceHistory::get_price_statistics (line 743) ... FAILED
[INFO] [stdout] test src/price.rs - price::TokenPriceHistory::export_to_csv (line 823) ... FAILED
[INFO] [stdout] test src/risk.rs - risk::Risk::calculate_max_swap_amount (line 63) ... FAILED
[INFO] [stdout] test src/risk.rs - risk::Risk::assess_swap_health (line 198) ... FAILED
[INFO] [stdout] test src/risk.rs - risk::Risk::detect_sandwich_attack_risk (line 93) ... FAILED
[INFO] [stdout] test src/price.rs - price::TokenPriceHistory::get_recent_prices (line 522) ... FAILED
[INFO] [stdout] test src/risk.rs - risk::Risk::calculate_dynamic_slippage_tolerance (line 144) ... FAILED
[INFO] [stdout] test src/router.rs - router::Router::new (line 17) ... FAILED
[INFO] [stdout] test src/risk.rs - risk::Risk::new (line 45) ... FAILED
[INFO] [stdout] test src/router.rs - router::Router::v2_router (line 34) ... FAILED
[INFO] [stdout] test src/router.rs - router::SmartRouter::new (line 112) ... FAILED
[INFO] [stdout] test src/router.rs - router::Router::v3_router (line 54) ... FAILED
[INFO] [stdout] test src/router.rs - router::SmartRouter::find_optimal_route (line 135) ... FAILED
[INFO] [stdout] test src/router.rs - router::SmartRouter::split_swap_across_versions (line 243) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/analyze.rs - analyze::Analyze::detect_arbitrage_opportunities (line 210) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `analytics`
[INFO] [stdout]  --> src/analyze.rs:211:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use analytics::Analyze;
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `analytics`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `analytics`, use `cargo add analytics` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Evm`
[INFO] [stdout]  --> src/analyze.rs:216:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                       ^^^ use of undeclared type `Evm`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_sdk::Evm;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/analyze.rs:216:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/events.rs - events::TokenPriceEventListener::get_pair_tokens (line 486) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmClient`
[INFO] [stdout]  --> src/events.rs:491:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | let client = EvmClient::new(EvmType::Ethereum).await?;
[INFO] [stdout]   |              ^^^^^^^^^ use of undeclared type `EvmClient`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmClient;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/events.rs:491:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | let client = EvmClient::new(EvmType::Ethereum).await?;
[INFO] [stdout]   |                             ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_pair_tokens` in this scope
[INFO] [stdout]   --> src/events.rs:494:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | let (token0, token1) = get_pair_tokens(&client, pair_address).await?;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/analyze.rs - analyze::Analyze::monitor_liquidity_changes (line 67) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `analytics`
[INFO] [stdout]  --> src/analyze.rs:68:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use analytics::Analyze;
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `analytics`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `analytics`, use `cargo add analytics` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Evm`
[INFO] [stdout]  --> src/analyze.rs:73:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                       ^^^ use of undeclared type `Evm`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_sdk::Evm;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/analyze.rs:73:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/analyze.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | let mut receiver = engine.monitor_liquidity_changes(pools).await?;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 14 |
[INFO] [stdout] 15 | while let Some(event) = receiver.recv().await {
[INFO] [stdout]    |                         -------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `receiver` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 13 | let mut receiver: /* Type */ = engine.monitor_liquidity_changes(pools).await?;
[INFO] [stdout]    |                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/analyze.rs - analyze::Analyze::cal_pool_health_score (line 248) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `analytics`
[INFO] [stdout]  --> src/analyze.rs:249:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use analytics::Analyze;
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `analytics`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `analytics`, use `cargo add analytics` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Evm`
[INFO] [stdout]  --> src/analyze.rs:254:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                       ^^^ use of undeclared type `Evm`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_sdk::Evm;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/analyze.rs:254:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/events.rs - events::FarmEventListener::start_stake_listener (line 643) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `FarmEventListener`
[INFO] [stdout]  --> src/events.rs:644:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | let farm_listener = FarmEventListener::new(client);
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^ use of undeclared type `FarmEventListener`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use uniswap_sdk::events::FarmEventListener;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `client` in this scope
[INFO] [stdout]  --> src/events.rs:644:44
[INFO] [stdout]   |
[INFO] [stdout] 3 | let farm_listener = FarmEventListener::new(client);
[INFO] [stdout]   |                                            ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `farm_addresses` in this scope
[INFO] [stdout]  --> src/events.rs:646:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     farm_addresses,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/events.rs:650:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_events_rs_643_0() {
[INFO] [stdout]   |                                      -------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 9 | ).await;
[INFO] [stdout]   |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/analyze.rs - analyze::Analyze::analyze_fee_efficiency (line 410) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `analytics`
[INFO] [stdout]  --> src/analyze.rs:411:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use analytics::Analyze;
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `analytics`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `analytics`, use `cargo add analytics` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Evm`
[INFO] [stdout]  --> src/analyze.rs:416:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                       ^^^ use of undeclared type `Evm`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_sdk::Evm;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/analyze.rs:416:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/analyze.rs - analyze::Analyze::discover_trading_pairs (line 297) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `analytics`
[INFO] [stdout]  --> src/analyze.rs:298:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use analytics::Analyze;
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `analytics`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `analytics`, use `cargo add analytics` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Evm`
[INFO] [stdout]  --> src/analyze.rs:303:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                       ^^^ use of undeclared type `Evm`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_sdk::Evm;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/analyze.rs:303:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/analyze.rs:307:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | let pairs = engine.discover_trading_pairs(factory, min_liquidity).await?;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 13 |
[INFO] [stdout] 14 | for pair in pairs.iter().take(10) {
[INFO] [stdout]    |             ----- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `pairs` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 12 | let pairs: /* Type */ = engine.discover_trading_pairs(factory, min_liquidity).await?;
[INFO] [stdout]    |          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/events.rs - events::TokenPriceEventListener::start_price_change_listener (line 333) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TokenPriceEventListener`
[INFO] [stdout]  --> src/events.rs:334:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | let price_listener = TokenPriceEventListener::new(client, 5.0);
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `TokenPriceEventListener`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use uniswap_sdk::events::TokenPriceEventListener;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `client` in this scope
[INFO] [stdout]  --> src/events.rs:334:51
[INFO] [stdout]   |
[INFO] [stdout] 3 | let price_listener = TokenPriceEventListener::new(client, 5.0);
[INFO] [stdout]   |                                                   ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token0` in this scope
[INFO] [stdout]  --> src/events.rs:335:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | let token_addresses = vec![token0, token1];
[INFO] [stdout]   |                            ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token1` in this scope
[INFO] [stdout]  --> src/events.rs:335:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | let token_addresses = vec![token0, token1];
[INFO] [stdout]   |                                    ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `pair_address` in this scope
[INFO] [stdout]  --> src/events.rs:336:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | let pair_addresses = vec![pair_address];
[INFO] [stdout]   |                           ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/events.rs:344:3
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_events_rs_333_0() {
[INFO] [stdout]    |                                      -------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 13 | ).await;
[INFO] [stdout]    |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/events.rs - events::UniswapEventManager::get_swap_events_in_range (line 557) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `UniswapEventManager`
[INFO] [stdout]  --> src/events.rs:558:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | let event_manager = UniswapEventManager::new(client);
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^ use of undeclared type `UniswapEventManager`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use uniswap_sdk::events::UniswapEventManager;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `client` in this scope
[INFO] [stdout]  --> src/events.rs:558:46
[INFO] [stdout]   |
[INFO] [stdout] 3 | let event_manager = UniswapEventManager::new(client);
[INFO] [stdout]   |                                              ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `pair_addresses` in this scope
[INFO] [stdout]  --> src/events.rs:560:6
[INFO] [stdout]   |
[INFO] [stdout] 5 |     &pair_addresses,
[INFO] [stdout]   |      ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/events.rs:563:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_events_rs_557_0() {
[INFO] [stdout]   |                                      -------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 8 | ).await?;
[INFO] [stdout]   |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/factory.rs - factory::Factory::find_price_pairs (line 48) stdout ----
[INFO] [stdout] error[E0432]: unresolved imports `crate::Arc`, `crate::EvmClient`, `crate::Factory`, `crate::EvmType`
[INFO] [stdout]  --> src/factory.rs:49:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{Arc, EvmClient, Factory, EvmType};
[INFO] [stdout]   |             ^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^^^ no `EvmType` in the root
[INFO] [stdout]   |             |    |          |
[INFO] [stdout]   |             |    |          no `Factory` in the root
[INFO] [stdout]   |             |    no `EvmClient` in the root
[INFO] [stdout]   |             no `Arc` in the root
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this struct instead:
[INFO] [stdout]           std::sync::Arc
[INFO] [stdout]   = help: consider importing this struct instead:
[INFO] [stdout]           evm_client::EvmClient
[INFO] [stdout]   = help: consider importing one of these items instead:
[INFO] [stdout]           uniswap_sdk::abi::IUniswapV2Router02Calls::Factory
[INFO] [stdout]           uniswap_sdk::factory::Factory
[INFO] [stdout]   = help: consider importing this enum instead:
[INFO] [stdout]           evm_client::EvmType
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/factory.rs - factory::Factory::get_pair_address (line 128) stdout ----
[INFO] [stdout] error[E0432]: unresolved imports `crate::Arc`, `crate::EvmClient`, `crate::Factory`
[INFO] [stdout]  --> src/factory.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{Arc, EvmClient, Factory};
[INFO] [stdout]   |             ^^^  ^^^^^^^^^  ^^^^^^^ no `Factory` in the root
[INFO] [stdout]   |             |    |
[INFO] [stdout]   |             |    no `EvmClient` in the root
[INFO] [stdout]   |             no `Arc` in the root
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this struct instead:
[INFO] [stdout]           std::sync::Arc
[INFO] [stdout]   = help: consider importing this struct instead:
[INFO] [stdout]           evm_client::EvmClient
[INFO] [stdout]   = help: consider importing one of these items instead:
[INFO] [stdout]           uniswap_sdk::abi::IUniswapV2Router02Calls::Factory
[INFO] [stdout]           uniswap_sdk::factory::Factory
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/factory.rs:133:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | let client = EvmClient::new(EvmType::Ethereum).await?;
[INFO] [stdout]   |                             ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/events.rs - events::UniswapEventListener::start_swap_listener (line 80) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `UniswapEventListener`
[INFO] [stdout]  --> src/events.rs:84:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | let listener = UniswapEventListener::new(client);
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `UniswapEventListener`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use uniswap_sdk::events::UniswapEventListener;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `client` in this scope
[INFO] [stdout]  --> src/events.rs:84:42
[INFO] [stdout]   |
[INFO] [stdout] 6 | let listener = UniswapEventListener::new(client);
[INFO] [stdout]   |                                          ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/events.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_events_rs_80_0() {
[INFO] [stdout]    |                                      ------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 13 | }).await;
[INFO] [stdout]    |    ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/factory.rs - factory::Factory::new (line 22) stdout ----
[INFO] [stdout] error[E0432]: unresolved imports `crate::Arc`, `crate::Factory`
[INFO] [stdout]  --> src/factory.rs:23:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{Arc, Factory};
[INFO] [stdout]   |             ^^^  ^^^^^^^ no `Factory` in the root
[INFO] [stdout]   |             |
[INFO] [stdout]   |             no `Arc` in the root
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this struct instead:
[INFO] [stdout]           std::sync::Arc
[INFO] [stdout]   = help: consider importing one of these items instead:
[INFO] [stdout]           uniswap_sdk::abi::IUniswapV2Router02Calls::Factory
[INFO] [stdout]           uniswap_sdk::factory::Factory
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Evm`
[INFO] [stdout]  --> src/factory.rs:25:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | let client = Evm::new(EvmType::ETHEREUM_MAINNET).await?;
[INFO] [stdout]   |              ^^^ use of undeclared type `Evm`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_sdk::Evm;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/factory.rs:25:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | let client = Evm::new(EvmType::ETHEREUM_MAINNET).await?;
[INFO] [stdout]   |                       ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/factory.rs:25:50
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_factory_rs_22_0() {
[INFO] [stdout]   |                                      -------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 5 | let client = Evm::new(EvmType::ETHEREUM_MAINNET).await?;
[INFO] [stdout]   |                                                  ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/farm.rs - farm::FarmService::exit_farm (line 252) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `farm_service` in this scope
[INFO] [stdout]  --> src/farm.rs:253:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | let tx_hash = farm_service.exit_farm(farm_address).await?;
[INFO] [stdout]   |               ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `farm_address` in this scope
[INFO] [stdout]  --> src/farm.rs:253:38
[INFO] [stdout]   |
[INFO] [stdout] 3 | let tx_hash = farm_service.exit_farm(farm_address).await?;
[INFO] [stdout]   |                                      ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/farm.rs:253:52
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_farm_rs_252_0() {
[INFO] [stdout]   |                                      ------------------------------------ this is not `async`
[INFO] [stdout] 3 | let tx_hash = farm_service.exit_farm(farm_address).await?;
[INFO] [stdout]   |                                                    ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/farm.rs - farm::FarmService::get_all_farms (line 35) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `farm_service` in this scope
[INFO] [stdout]  --> src/farm.rs:36:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | let farms = farm_service.get_all_farms(factory_address, EvmType::Mainnet).await?;
[INFO] [stdout]   |             ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `factory_address` in this scope
[INFO] [stdout]  --> src/farm.rs:36:40
[INFO] [stdout]   |
[INFO] [stdout] 3 | let farms = farm_service.get_all_farms(factory_address, EvmType::Mainnet).await?;
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/farm.rs:36:57
[INFO] [stdout]   |
[INFO] [stdout] 3 | let farms = farm_service.get_all_farms(factory_address, EvmType::Mainnet).await?;
[INFO] [stdout]   |                                                         ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/farm.rs:36:75
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_farm_rs_35_0() {
[INFO] [stdout]   |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 3 | let farms = farm_service.get_all_farms(factory_address, EvmType::Mainnet).await?;
[INFO] [stdout]   |                                                                           ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/farm.rs - farm::FarmService::claim_rewards (line 228) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `farm_service` in this scope
[INFO] [stdout]  --> src/farm.rs:229:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | let tx_hash = farm_service.claim_rewards(farm_address).await?;
[INFO] [stdout]   |               ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `farm_address` in this scope
[INFO] [stdout]  --> src/farm.rs:229:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | let tx_hash = farm_service.claim_rewards(farm_address).await?;
[INFO] [stdout]   |                                          ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/farm.rs:229:56
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_farm_rs_228_0() {
[INFO] [stdout]   |                                      ------------------------------------ this is not `async`
[INFO] [stdout] 3 | let tx_hash = farm_service.claim_rewards(farm_address).await?;
[INFO] [stdout]   |                                                        ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/farm.rs - farm::FarmService::get_farm_detail (line 78) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `farm_service` in this scope
[INFO] [stdout]  --> src/farm.rs:79:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | let farm_detail = farm_service.get_farm_detail(farm_address).await?;
[INFO] [stdout]   |                   ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `farm_address` in this scope
[INFO] [stdout]  --> src/farm.rs:79:48
[INFO] [stdout]   |
[INFO] [stdout] 3 | let farm_detail = farm_service.get_farm_detail(farm_address).await?;
[INFO] [stdout]   |                                                ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/farm.rs:79:62
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_farm_rs_78_0() {
[INFO] [stdout]   |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 3 | let farm_detail = farm_service.get_farm_detail(farm_address).await?;
[INFO] [stdout]   |                                                              ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/farm.rs - farm::FarmService::get_farm_apy (line 296) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `farm_service` in this scope
[INFO] [stdout]  --> src/farm.rs:297:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | let apy_data = farm_service.get_farm_apy(farm_address).await?;
[INFO] [stdout]   |                ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `farm_address` in this scope
[INFO] [stdout]  --> src/farm.rs:297:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | let apy_data = farm_service.get_farm_apy(farm_address).await?;
[INFO] [stdout]   |                                          ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/farm.rs:297:56
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_farm_rs_296_0() {
[INFO] [stdout]   |                                      ------------------------------------ this is not `async`
[INFO] [stdout] 3 | let apy_data = farm_service.get_farm_apy(farm_address).await?;
[INFO] [stdout]   |                                                        ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/farm.rs - farm::FarmService::unstake (line 204) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `U256`
[INFO] [stdout]  --> src/farm.rs:205:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | let amount = U256::from(500000000000000000u64); // 0.5 LP token
[INFO] [stdout]   |              ^^^^ use of undeclared type `U256`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]   |
[INFO] [stdout] 2 + use ethers::types::U256;
[INFO] [stdout]   |
[INFO] [stdout] 2 + use primitive_types::U256;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `farm_service` in this scope
[INFO] [stdout]  --> src/farm.rs:206:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | let tx_hash = farm_service.unstake(farm_address, amount).await?;
[INFO] [stdout]   |               ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `farm_address` in this scope
[INFO] [stdout]  --> src/farm.rs:206:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | let tx_hash = farm_service.unstake(farm_address, amount).await?;
[INFO] [stdout]   |                                    ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/farm.rs:206:58
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_farm_rs_204_0() {
[INFO] [stdout]   |                                      ------------------------------------ this is not `async`
[INFO] [stdout] 3 | let amount = U256::from(500000000000000000u64); // 0.5 LP token
[INFO] [stdout] 4 | let tx_hash = farm_service.unstake(farm_address, amount).await?;
[INFO] [stdout]   |                                                          ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/farm.rs - farm::FarmService::get_farm_history (line 327) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `farm_service` in this scope
[INFO] [stdout]  --> src/farm.rs:328:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | let history = farm_service.get_farm_history(farm_address, 30).await?;
[INFO] [stdout]   |               ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `farm_address` in this scope
[INFO] [stdout]  --> src/farm.rs:328:45
[INFO] [stdout]   |
[INFO] [stdout] 3 | let history = farm_service.get_farm_history(farm_address, 30).await?;
[INFO] [stdout]   |                                             ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/farm.rs:328:63
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_farm_rs_327_0() {
[INFO] [stdout]   |                                      ------------------------------------ this is not `async`
[INFO] [stdout] 3 | let history = farm_service.get_farm_history(farm_address, 30).await?;
[INFO] [stdout]   |                                                               ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/farm.rs - farm::FarmService::get_user_position (line 144) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `farm_service` in this scope
[INFO] [stdout]  --> src/farm.rs:145:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | let position = farm_service.get_user_position(farm_address, user_address).await?;
[INFO] [stdout]   |                ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `farm_address` in this scope
[INFO] [stdout]  --> src/farm.rs:145:47
[INFO] [stdout]   |
[INFO] [stdout] 3 | let position = farm_service.get_user_position(farm_address, user_address).await?;
[INFO] [stdout]   |                                               ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `user_address` in this scope
[INFO] [stdout]  --> src/farm.rs:145:61
[INFO] [stdout]   |
[INFO] [stdout] 3 | let position = farm_service.get_user_position(farm_address, user_address).await?;
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/farm.rs:145:75
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_farm_rs_144_0() {
[INFO] [stdout]   |                                      ------------------------------------ this is not `async`
[INFO] [stdout] 3 | let position = farm_service.get_user_position(farm_address, user_address).await?;
[INFO] [stdout]   |                                                                           ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/farm.rs - farm::FarmService::stake (line 179) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `U256`
[INFO] [stdout]  --> src/farm.rs:180:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | let amount = U256::from(1000000000000000000u64); // 1.0 LP token
[INFO] [stdout]   |              ^^^^ use of undeclared type `U256`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]   |
[INFO] [stdout] 2 + use ethers::types::U256;
[INFO] [stdout]   |
[INFO] [stdout] 2 + use primitive_types::U256;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `farm_service` in this scope
[INFO] [stdout]  --> src/farm.rs:181:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | let tx_hash = farm_service.stake(farm_address, amount).await?;
[INFO] [stdout]   |               ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `farm_address` in this scope
[INFO] [stdout]  --> src/farm.rs:181:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | let tx_hash = farm_service.stake(farm_address, amount).await?;
[INFO] [stdout]   |                                  ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/farm.rs:181:56
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_farm_rs_179_0() {
[INFO] [stdout]   |                                      ------------------------------------ this is not `async`
[INFO] [stdout] 3 | let amount = U256::from(1000000000000000000u64); // 1.0 LP token
[INFO] [stdout] 4 | let tx_hash = farm_service.stake(farm_address, amount).await?;
[INFO] [stdout]   |                                                        ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapService::add_liquidity_eth (line 283) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `uniswap_service` in this scope
[INFO] [stdout]  --> src/lib.rs:286:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | let tx_hash = uniswap_service.add_liquidity_eth(
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `router_address` in this scope
[INFO] [stdout]  --> src/lib.rs:287:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     router_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_a` in this scope
[INFO] [stdout]  --> src/lib.rs:288:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     token_a,
[INFO] [stdout]   |     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:294:3
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_283_0() {
[INFO] [stdout]    |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 13 | ).await?;
[INFO] [stdout]    |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapService::add_liquidity (line 233) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `uniswap_service` in this scope
[INFO] [stdout]  --> src/lib.rs:236:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | let tx_hash = uniswap_service.add_liquidity(
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `router_address` in this scope
[INFO] [stdout]  --> src/lib.rs:237:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     router_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_a` in this scope
[INFO] [stdout]  --> src/lib.rs:238:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     token_a,
[INFO] [stdout]   |     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_b` in this scope
[INFO] [stdout]  --> src/lib.rs:239:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     token_b,
[INFO] [stdout]   |     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:245:3
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_233_0() {
[INFO] [stdout]    |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 14 | ).await?;
[INFO] [stdout]    |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapService::exact_input_single (line 330) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `uniswap_service` in this scope
[INFO] [stdout]  --> src/lib.rs:333:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | let tx_hash = uniswap_service.exact_input_single(
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `router_address` in this scope
[INFO] [stdout]  --> src/lib.rs:334:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     router_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_a` in this scope
[INFO] [stdout]  --> src/lib.rs:335:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     token_a,
[INFO] [stdout]   |     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_b` in this scope
[INFO] [stdout]  --> src/lib.rs:336:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     token_b,
[INFO] [stdout]   |     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:342:3
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_330_0() {
[INFO] [stdout]    |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 14 | ).await?;
[INFO] [stdout]    |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapService::get_amounts_in (line 90) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `uniswap_service` in this scope
[INFO] [stdout]  --> src/lib.rs:93:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | let amounts = uniswap_service.get_amounts_in(
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `router_address` in this scope
[INFO] [stdout]  --> src/lib.rs:94:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     router_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_a` in this scope
[INFO] [stdout]  --> src/lib.rs:96:10
[INFO] [stdout]   |
[INFO] [stdout] 8 |     vec![token_a, token_b]
[INFO] [stdout]   |          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_b` in this scope
[INFO] [stdout]  --> src/lib.rs:96:19
[INFO] [stdout]   |
[INFO] [stdout] 8 |     vec![token_a, token_b]
[INFO] [stdout]   |                   ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/lib.rs:97:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_90_0() {
[INFO] [stdout]   |                                      ---------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 9 | ).await?;
[INFO] [stdout]   |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapService::remove_liquidity (line 439) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `uniswap_service` in this scope
[INFO] [stdout]  --> src/lib.rs:442:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | let tx_hash = uniswap_service.remove_liquidity(
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `router_address` in this scope
[INFO] [stdout]  --> src/lib.rs:443:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     router_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_a` in this scope
[INFO] [stdout]  --> src/lib.rs:444:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     token_a,
[INFO] [stdout]   |     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_b` in this scope
[INFO] [stdout]  --> src/lib.rs:445:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     token_b,
[INFO] [stdout]   |     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:450:3
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_439_0() {
[INFO] [stdout]    |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 13 | ).await?;
[INFO] [stdout]    |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapService::remove_liquidity_eth (line 485) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `uniswap_service` in this scope
[INFO] [stdout]  --> src/lib.rs:488:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | let tx_hash = uniswap_service.remove_liquidity_eth(
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `router_address` in this scope
[INFO] [stdout]  --> src/lib.rs:489:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     router_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_a` in this scope
[INFO] [stdout]  --> src/lib.rs:490:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     token_a,
[INFO] [stdout]   |     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:495:3
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_485_0() {
[INFO] [stdout]    |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 12 | ).await?;
[INFO] [stdout]    |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapService::get_amounts_out (line 64) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `uniswap_service` in this scope
[INFO] [stdout]  --> src/lib.rs:67:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | let amounts = uniswap_service.get_amounts_out(
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `router_address` in this scope
[INFO] [stdout]  --> src/lib.rs:68:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     router_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_a` in this scope
[INFO] [stdout]  --> src/lib.rs:70:10
[INFO] [stdout]   |
[INFO] [stdout] 8 |     vec![token_a, token_b]
[INFO] [stdout]   |          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_b` in this scope
[INFO] [stdout]  --> src/lib.rs:70:19
[INFO] [stdout]   |
[INFO] [stdout] 8 |     vec![token_a, token_b]
[INFO] [stdout]   |                   ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/lib.rs:71:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_64_0() {
[INFO] [stdout]   |                                      ---------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 9 | ).await?;
[INFO] [stdout]   |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapService::start_monitoring_new_pairs (line 553) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `uniswap_service` in this scope
[INFO] [stdout]  --> src/lib.rs:554:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | uniswap_service.start_monitoring_new_pairs(
[INFO] [stdout]   | ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `factory_address` in this scope
[INFO] [stdout]  --> src/lib.rs:555:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     factory_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/lib.rs:559:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_553_0() {
[INFO] [stdout]   |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 8 | ).await?;
[INFO] [stdout]   |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapService::swap_exact_eth_for_tokens (line 157) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `uniswap_service` in this scope
[INFO] [stdout]  --> src/lib.rs:160:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | let tx_hash = uniswap_service.swap_exact_eth_for_tokens(
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `router_address` in this scope
[INFO] [stdout]  --> src/lib.rs:161:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     router_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `weth_address` in this scope
[INFO] [stdout]  --> src/lib.rs:163:10
[INFO] [stdout]   |
[INFO] [stdout] 8 |     vec![weth_address, token_b],
[INFO] [stdout]   |          ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_b` in this scope
[INFO] [stdout]  --> src/lib.rs:163:24
[INFO] [stdout]   |
[INFO] [stdout] 8 |     vec![weth_address, token_b],
[INFO] [stdout]   |                        ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:166:3
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_157_0() {
[INFO] [stdout]    |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 11 | ).await?;
[INFO] [stdout]    |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapService::start_monitoring_swaps (line 532) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `uniswap_service` in this scope
[INFO] [stdout]  --> src/lib.rs:533:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | uniswap_service.start_monitoring_swaps(
[INFO] [stdout]   | ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `pair_address1` in this scope
[INFO] [stdout]  --> src/lib.rs:534:10
[INFO] [stdout]   |
[INFO] [stdout] 4 |     vec![pair_address1, pair_address2],
[INFO] [stdout]   |          ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `pair_address2` in this scope
[INFO] [stdout]  --> src/lib.rs:534:25
[INFO] [stdout]   |
[INFO] [stdout] 4 |     vec![pair_address1, pair_address2],
[INFO] [stdout]   |                         ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/lib.rs:538:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_532_0() {
[INFO] [stdout]   |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 8 | ).await?;
[INFO] [stdout]   |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapV4Service::get_tick_info (line 948) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `v4_service` in this scope
[INFO] [stdout]  --> src/lib.rs:949:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | let tick_info = v4_service.get_tick_info(pool_address, 1200).await?;
[INFO] [stdout]   |                 ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `pool_address` in this scope
[INFO] [stdout]  --> src/lib.rs:949:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | let tick_info = v4_service.get_tick_info(pool_address, 1200).await?;
[INFO] [stdout]   |                                          ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/lib.rs:949:62
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_948_0() {
[INFO] [stdout]   |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 3 | let tick_info = v4_service.get_tick_info(pool_address, 1200).await?;
[INFO] [stdout]   |                                                              ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapV4Service::get_pool_address (line 757) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `v4_service` in this scope
[INFO] [stdout]  --> src/lib.rs:758:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | let pool_address = v4_service.get_pool_address(
[INFO] [stdout]   |                    ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `manager_address` in this scope
[INFO] [stdout]  --> src/lib.rs:759:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     manager_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `currency0` in this scope
[INFO] [stdout]  --> src/lib.rs:760:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     currency0,
[INFO] [stdout]   |     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `currency1` in this scope
[INFO] [stdout]  --> src/lib.rs:761:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     currency1,
[INFO] [stdout]   |     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `hooks_address` in this scope
[INFO] [stdout]  --> src/lib.rs:764:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     hooks_address
[INFO] [stdout]   |     ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:765:3
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_757_0() {
[INFO] [stdout]    |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 10 | ).await?;
[INFO] [stdout]    |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapV4Service::get_pool_info (line 788) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `v4_service` in this scope
[INFO] [stdout]  --> src/lib.rs:789:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | let pool_info = v4_service.get_pool_info(pool_address).await?;
[INFO] [stdout]   |                 ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `pool_address` in this scope
[INFO] [stdout]  --> src/lib.rs:789:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | let pool_info = v4_service.get_pool_info(pool_address).await?;
[INFO] [stdout]   |                                          ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/lib.rs:789:56
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_788_0() {
[INFO] [stdout]   |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 3 | let pool_info = v4_service.get_pool_info(pool_address).await?;
[INFO] [stdout]   |                                                        ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapService::swap_exact_tokens_for_eth (line 193) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `uniswap_service` in this scope
[INFO] [stdout]  --> src/lib.rs:196:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | let tx_hash = uniswap_service.swap_exact_tokens_for_eth(
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `router_address` in this scope
[INFO] [stdout]  --> src/lib.rs:197:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     router_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_a` in this scope
[INFO] [stdout]  --> src/lib.rs:200:10
[INFO] [stdout]   |
[INFO] [stdout] 9 |     vec![token_a, weth_address],
[INFO] [stdout]   |          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `weth_address` in this scope
[INFO] [stdout]  --> src/lib.rs:200:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     vec![token_a, weth_address],
[INFO] [stdout]   |                   ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:202:3
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_193_0() {
[INFO] [stdout]    |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 11 | ).await?;
[INFO] [stdout]    |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapService::swap_exact_tokens_for_tokens (line 116) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `uniswap_service` in this scope
[INFO] [stdout]  --> src/lib.rs:119:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | let tx_hash = uniswap_service.swap_exact_tokens_for_tokens(
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `router_address` in this scope
[INFO] [stdout]  --> src/lib.rs:120:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     router_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_a` in this scope
[INFO] [stdout]  --> src/lib.rs:123:10
[INFO] [stdout]   |
[INFO] [stdout] 9 |     vec![token_a, token_b],
[INFO] [stdout]   |          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_b` in this scope
[INFO] [stdout]  --> src/lib.rs:123:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     vec![token_a, token_b],
[INFO] [stdout]   |                   ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:125:3
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_116_0() {
[INFO] [stdout]    |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 11 | ).await?;
[INFO] [stdout]    |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapV4Service::get_pool_price (line 835) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `v4_service` in this scope
[INFO] [stdout]  --> src/lib.rs:836:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | let price = v4_service.get_pool_price(pool_address).await?;
[INFO] [stdout]   |             ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `pool_address` in this scope
[INFO] [stdout]  --> src/lib.rs:836:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | let price = v4_service.get_pool_price(pool_address).await?;
[INFO] [stdout]   |                                       ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/lib.rs:836:53
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_835_0() {
[INFO] [stdout]   |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 3 | let price = v4_service.get_pool_price(pool_address).await?;
[INFO] [stdout]   |                                                     ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/liquidity.rs - liquidity::LiquidityPoolFinder::find_pools_by_tvl_threshold (line 272) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `crate::EvmType`
[INFO] [stdout]  --> src/liquidity.rs:275:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::EvmType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ no `EvmType` in the root
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum instead
[INFO] [stdout]   |
[INFO] [stdout] 5 - use crate::EvmType;
[INFO] [stdout] 5 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_liquidity_finder` in this scope
[INFO] [stdout]  --> src/liquidity.rs:278:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | let finder = create_liquidity_finder();
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/liquidity.rs:281:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | let high_tvl_pools = finder.find_pools_by_tvl_threshold(token, EvmType::Ethereum, min_tvl).await?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 12 | println!("Found {} pools with TVL > ${}", high_tvl_pools.len(), min_tvl);
[INFO] [stdout]    |                                           -------------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `high_tvl_pools` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 11 | let high_tvl_pools: /* Type */ = finder.find_pools_by_tvl_threshold(token, EvmType::Ethereum, min_tvl).await?;
[INFO] [stdout]    |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapV4Service::get_position_info (line 919) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `v4_service` in this scope
[INFO] [stdout]  --> src/lib.rs:920:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | let position_info = v4_service.get_position_info(pool_address, position_key).await?;
[INFO] [stdout]   |                     ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `pool_address` in this scope
[INFO] [stdout]  --> src/lib.rs:920:50
[INFO] [stdout]   |
[INFO] [stdout] 3 | let position_info = v4_service.get_position_info(pool_address, position_key).await?;
[INFO] [stdout]   |                                                  ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `position_key` in this scope
[INFO] [stdout]  --> src/lib.rs:920:64
[INFO] [stdout]   |
[INFO] [stdout] 3 | let position_info = v4_service.get_position_info(pool_address, position_key).await?;
[INFO] [stdout]   |                                                                ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/lib.rs:920:78
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_919_0() {
[INFO] [stdout]   |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 3 | let position_info = v4_service.get_position_info(pool_address, position_key).await?;
[INFO] [stdout]   |                                                                              ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapV4Service::modify_position (line 705) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `v4_service` in this scope
[INFO] [stdout]  --> src/lib.rs:706:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | let (amount0, amount1) = v4_service.modify_position(
[INFO] [stdout]   |                          ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `manager_address` in this scope
[INFO] [stdout]  --> src/lib.rs:707:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     manager_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `currency0` in this scope
[INFO] [stdout]  --> src/lib.rs:708:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     currency0,
[INFO] [stdout]   |     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `currency1` in this scope
[INFO] [stdout]  --> src/lib.rs:709:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     currency1,
[INFO] [stdout]   |     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `hooks_address` in this scope
[INFO] [stdout]  --> src/lib.rs:712:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     hooks_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:717:3
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_705_0() {
[INFO] [stdout]    |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 14 | ).await?;
[INFO] [stdout]    |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapV4Service::swap (line 653) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `v4_service` in this scope
[INFO] [stdout]  --> src/lib.rs:654:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | let (amount0, amount1) = v4_service.swap(
[INFO] [stdout]   |                          ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `manager_address` in this scope
[INFO] [stdout]  --> src/lib.rs:655:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     manager_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `currency0` in this scope
[INFO] [stdout]  --> src/lib.rs:656:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     currency0,
[INFO] [stdout]   |     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `currency1` in this scope
[INFO] [stdout]  --> src/lib.rs:657:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     currency1,
[INFO] [stdout]   |     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `hooks_address` in this scope
[INFO] [stdout]  --> src/lib.rs:660:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     hooks_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `U256`
[INFO] [stdout]   --> src/lib.rs:663:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     U256::from(0),
[INFO] [stdout]    |     ^^^^ use of undeclared type `U256`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  2 + use ethers::types::U256;
[INFO] [stdout]    |
[INFO] [stdout]  2 + use primitive_types::U256;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:665:3
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_653_0() {
[INFO] [stdout]    |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 14 | ).await?;
[INFO] [stdout]    |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - UniswapV4Service::initialize_pool (line 597) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `v4_service` in this scope
[INFO] [stdout]  --> src/lib.rs:600:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | let pool_address = v4_service.initialize_pool(
[INFO] [stdout]   |                    ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `manager_address` in this scope
[INFO] [stdout]  --> src/lib.rs:601:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     manager_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `currency0` in this scope
[INFO] [stdout]  --> src/lib.rs:602:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     currency0,
[INFO] [stdout]   |     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `currency1` in this scope
[INFO] [stdout]  --> src/lib.rs:603:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     currency1,
[INFO] [stdout]   |     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `hooks_address` in this scope
[INFO] [stdout]   --> src/lib.rs:606:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     hooks_address,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:609:3
[INFO] [stdout]    |
[INFO] [stdout]  2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_597_0() {
[INFO] [stdout]    |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 14 | ).await?;
[INFO] [stdout]    |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/liquidity.rs - liquidity::LiquidityPoolFinder::find_top_liquidity_pool (line 246) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `crate::EvmType`
[INFO] [stdout]  --> src/liquidity.rs:249:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::EvmType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ no `EvmType` in the root
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum instead
[INFO] [stdout]   |
[INFO] [stdout] 5 - use crate::EvmType;
[INFO] [stdout] 5 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_liquidity_finder` in this scope
[INFO] [stdout]  --> src/liquidity.rs:252:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | let finder = create_liquidity_finder();
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/liquidity.rs - liquidity::LiquidityPoolFinder::get_pool_health_score (line 303) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `create_liquidity_finder` in this scope
[INFO] [stdout]  --> src/liquidity.rs:308:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | let finder = create_liquidity_finder();
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/liquidity.rs - liquidity::LiquidityPoolFinder::get_token_liquidity_overview (line 347) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `crate::EvmType`
[INFO] [stdout]  --> src/liquidity.rs:350:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::EvmType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ no `EvmType` in the root
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum instead
[INFO] [stdout]   |
[INFO] [stdout] 5 - use crate::EvmType;
[INFO] [stdout] 5 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_liquidity_finder` in this scope
[INFO] [stdout]  --> src/liquidity.rs:353:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | let finder = create_liquidity_finder();
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/oracle.rs - oracle::PriceOracleAggregator::check_price_health (line 203) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `crate::EvmType`
[INFO] [stdout]  --> src/oracle.rs:205:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::EvmType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ no `EvmType` in the root
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum instead
[INFO] [stdout]   |
[INFO] [stdout] 4 - use crate::EvmType;
[INFO] [stdout] 4 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PriceOracleAggregator` in this scope
[INFO] [stdout]  --> src/oracle.rs:206:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | async fn example(aggregator: PriceOracleAggregator) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use uniswap_sdk::oracle::PriceOracleAggregator;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/oracle.rs - oracle::PriceOracleAggregator::get_manipulation_resistant_price (line 97) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `crate::EvmType`
[INFO] [stdout]  --> src/oracle.rs:99:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::EvmType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ no `EvmType` in the root
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum instead
[INFO] [stdout]   |
[INFO] [stdout] 4 - use crate::EvmType;
[INFO] [stdout] 4 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PriceOracleAggregator` in this scope
[INFO] [stdout]  --> src/oracle.rs:100:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | async fn example(aggregator: PriceOracleAggregator) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use uniswap_sdk::oracle::PriceOracleAggregator;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/oracle.rs - oracle::PriceOracleAggregator::get_twap (line 66) stdout ----
[INFO] [stdout] error[E0412]: cannot find type `PriceOracleAggregator` in this scope
[INFO] [stdout]  --> src/oracle.rs:69:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | async fn example(aggregator: PriceOracleAggregator) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use uniswap_sdk::oracle::PriceOracleAggregator;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/oracle.rs - oracle::PriceOracleAggregator::new (line 44) stdout ----
[INFO] [stdout] error[E0432]: unresolved imports `crate::EVM`, `crate::PriceOracleAggregator`
[INFO] [stdout]  --> src/oracle.rs:46:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{EVM, PriceOracleAggregator};
[INFO] [stdout]   |             ^^^  ^^^^^^^^^^^^^^^^^^^^^ no `PriceOracleAggregator` in the root
[INFO] [stdout]   |             |
[INFO] [stdout]   |             no `EVM` in the root
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this struct instead:
[INFO] [stdout]           uniswap_sdk::oracle::PriceOracleAggregator
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Evm`
[INFO] [stdout]  --> src/oracle.rs:48:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                       ^^^ use of undeclared type `Evm`
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_sdk::Evm;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/oracle.rs:48:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/oracle.rs:48:51
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_oracle_rs_44_0() {
[INFO] [stdout]   |                                      ------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 6 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                                   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/price.rs - price::Price::cal_price_impact (line 77) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `price_service` in this scope
[INFO] [stdout]  --> src/price.rs:78:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | let price_impact = price_service.cal_price_impact(
[INFO] [stdout]   |                    ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `pair_address` in this scope
[INFO] [stdout]  --> src/price.rs:79:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pair_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `amount_in` in this scope
[INFO] [stdout]  --> src/price.rs:80:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     amount_in,
[INFO] [stdout]   |     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/price.rs:82:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_price_rs_77_0() {
[INFO] [stdout]   |                                      ------------------------------------ this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 7 | ).await?;
[INFO] [stdout]   |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/price.rs - price::Price::get_token_current_price (line 173) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `price_service` in this scope
[INFO] [stdout]  --> src/price.rs:174:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | let current_price = price_service.get_token_current_price(
[INFO] [stdout]   |                     ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_address` in this scope
[INFO] [stdout]  --> src/price.rs:175:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     token_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/price.rs:176:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     EvmType::Ethereum
[INFO] [stdout]   |     ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/price.rs:177:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_price_rs_173_0() {
[INFO] [stdout]   |                                      ------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 6 | ).await?;
[INFO] [stdout]   |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/price.rs - price::Price::get_token_price_auto (line 50) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Price`
[INFO] [stdout]  --> src/price.rs:51:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | let price_service = Price::new(client);
[INFO] [stdout]   |                     ^^^^^ use of undeclared type `Price`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use uniswap_sdk::price::Price;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `client` in this scope
[INFO] [stdout]  --> src/price.rs:51:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | let price_service = Price::new(client);
[INFO] [stdout]   |                                ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_address` in this scope
[INFO] [stdout]  --> src/price.rs:53:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     token_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/price.rs:54:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     EvmType::Ethereum
[INFO] [stdout]   |     ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/price.rs:55:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_price_rs_50_0() {
[INFO] [stdout]   |                                      ------------------------------------ this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 7 | ).await?;
[INFO] [stdout]   |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/price.rs - price::TokenPriceHistory::get_price_statistics (line 743) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `history_service` in this scope
[INFO] [stdout]  --> src/price.rs:744:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | let stats = history_service.get_price_statistics(
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_address` in this scope
[INFO] [stdout]  --> src/price.rs:745:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     token_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/price.rs:746:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     EvmType::Ethereum
[INFO] [stdout]   |     ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/price.rs:747:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_price_rs_743_0() {
[INFO] [stdout]   |                                      ------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 6 | ).await?;
[INFO] [stdout]   |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/price.rs - price::TokenPriceHistory::export_to_csv (line 823) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `history_service` in this scope
[INFO] [stdout]  --> src/price.rs:824:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | history_service.export_to_csv(
[INFO] [stdout]   | ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_address` in this scope
[INFO] [stdout]  --> src/price.rs:825:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     token_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/price.rs:826:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     EvmType::Ethereum,
[INFO] [stdout]   |     ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/price.rs:828:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_price_rs_823_0() {
[INFO] [stdout]   |                                      ------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 7 | ).await?;
[INFO] [stdout]   |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/risk.rs - risk::Risk::calculate_max_swap_amount (line 63) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `risk_analyzer`
[INFO] [stdout]  --> src/risk.rs:65:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use risk_analyzer::{Risk, EvmClient};
[INFO] [stdout]   |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `risk_analyzer`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `risk_analyzer`, use `cargo add risk_analyzer` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Evm`
[INFO] [stdout]  --> src/risk.rs:68:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                       ^^^ use of undeclared type `Evm`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_sdk::Evm;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/risk.rs:68:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/risk.rs - risk::Risk::assess_swap_health (line 198) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `risk_analyzer`
[INFO] [stdout]  --> src/risk.rs:200:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use risk_analyzer::{Risk, EvmClient, PendingSwap};
[INFO] [stdout]   |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `risk_analyzer`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `risk_analyzer`, use `cargo add risk_analyzer` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/risk.rs:203:38
[INFO] [stdout]   |
[INFO] [stdout] 7 | let client = Arc::new(EvmClient::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                      ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/risk.rs - risk::Risk::detect_sandwich_attack_risk (line 93) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `risk_analyzer`
[INFO] [stdout]  --> src/risk.rs:95:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use risk_analyzer::{Risk, EvmClient, PendingSwap};
[INFO] [stdout]   |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `risk_analyzer`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `risk_analyzer`, use `cargo add risk_analyzer` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/risk.rs:98:38
[INFO] [stdout]   |
[INFO] [stdout] 7 | let client = Arc::new(EvmClient::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                      ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/price.rs - price::TokenPriceHistory::get_recent_prices (line 522) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TokenPriceHistory`
[INFO] [stdout]  --> src/price.rs:523:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | let history_service = TokenPriceHistory::with_default_config(client);
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^ use of undeclared type `TokenPriceHistory`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use uniswap_sdk::price::TokenPriceHistory;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `client` in this scope
[INFO] [stdout]  --> src/price.rs:523:62
[INFO] [stdout]   |
[INFO] [stdout] 3 | let history_service = TokenPriceHistory::with_default_config(client);
[INFO] [stdout]   |                                                              ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `token_address` in this scope
[INFO] [stdout]  --> src/price.rs:525:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     token_address,
[INFO] [stdout]   |     ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/price.rs:526:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     EvmType::ETHEREUM_MAINNET,
[INFO] [stdout]   |     ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/price.rs:528:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_price_rs_522_0() {
[INFO] [stdout]   |                                      ------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 8 | ).await?;
[INFO] [stdout]   |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/risk.rs - risk::Risk::calculate_dynamic_slippage_tolerance (line 144) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `risk_analyzer`
[INFO] [stdout]  --> src/risk.rs:146:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use risk_analyzer::{Risk, EvmClient};
[INFO] [stdout]   |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `risk_analyzer`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `risk_analyzer`, use `cargo add risk_analyzer` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/risk.rs:149:38
[INFO] [stdout]   |
[INFO] [stdout] 7 | let client = Arc::new(EvmClient::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                      ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/router.rs - router::Router::new (line 17) stdout ----
[INFO] [stdout] error[E0432]: unresolved imports `crate::EvmClient`, `crate::router`
[INFO] [stdout]  --> src/router.rs:19:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{EvmClient, router::Router};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^
[INFO] [stdout]   |             |          |
[INFO] [stdout]   |             |          unresolved import
[INFO] [stdout]   |             |          help: a similar path exists: `uniswap_sdk::router`
[INFO] [stdout]   |             no `EvmClient` in the root
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this struct instead:
[INFO] [stdout]           evm_client::EvmClient
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Evm`
[INFO] [stdout]  --> src/router.rs:21:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                       ^^^ use of undeclared type `Evm`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_sdk::Evm;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/router.rs:21:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/router.rs:21:51
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_router_rs_17_0() {
[INFO] [stdout]   |                                      ------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 6 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                                   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/risk.rs - risk::Risk::new (line 45) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `risk_analyzer`
[INFO] [stdout]  --> src/risk.rs:47:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use risk_analyzer::{Risk, EvmClient};
[INFO] [stdout]   |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `risk_analyzer`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `risk_analyzer`, use `cargo add risk_analyzer` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Evm`
[INFO] [stdout]  --> src/risk.rs:49:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                       ^^^ use of undeclared type `Evm`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_sdk::Evm;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/risk.rs:49:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/risk.rs:49:51
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_risk_rs_45_0() {
[INFO] [stdout]   |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 6 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                                   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/router.rs - router::Router::v2_router (line 34) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `router` in this scope
[INFO] [stdout]  --> src/router.rs:37:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | let v2_router = router.v2_router(
[INFO] [stdout]   |                 ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/router.rs - router::SmartRouter::new (line 112) stdout ----
[INFO] [stdout] error[E0432]: unresolved imports `crate::EvmClient`, `crate::router`
[INFO] [stdout]  --> src/router.rs:114:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{EvmClient, router::SmartRouter};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^
[INFO] [stdout]   |             |          |
[INFO] [stdout]   |             |          unresolved import
[INFO] [stdout]   |             |          help: a similar path exists: `uniswap_sdk::router`
[INFO] [stdout]   |             no `EvmClient` in the root
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing this struct instead:
[INFO] [stdout]           evm_client::EvmClient
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Evm`
[INFO] [stdout]  --> src/router.rs:116:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                       ^^^ use of undeclared type `Evm`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_sdk::Evm;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `EvmType`
[INFO] [stdout]  --> src/router.rs:116:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                ^^^^^^^ use of undeclared type `EvmType`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> src/router.rs:116:51
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_router_rs_112_0() {
[INFO] [stdout]   |                                      -------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 6 | let client = Arc::new(Evm::new(EvmType::Ethereum).await?);
[INFO] [stdout]   |                                                   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/router.rs - router::Router::v3_router (line 54) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `router` in this scope
[INFO] [stdout]  --> src/router.rs:57:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | let v3_router = router.v3_router(
[INFO] [stdout]   |                 ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/router.rs - router::SmartRouter::find_optimal_route (line 135) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `crate::EvmType`
[INFO] [stdout]  --> src/router.rs:137:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::EvmType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ no `EvmType` in the root
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum instead
[INFO] [stdout]   |
[INFO] [stdout] 4 - use crate::EvmType;
[INFO] [stdout] 4 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `smart_router` in this scope
[INFO] [stdout]  --> src/router.rs:140:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | let route = smart_router.find_optimal_route(
[INFO] [stdout]   |             ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/router.rs - router::SmartRouter::split_swap_across_versions (line 243) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `crate::EvmType`
[INFO] [stdout]  --> src/router.rs:245:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::EvmType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ no `EvmType` in the root
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum instead
[INFO] [stdout]   |
[INFO] [stdout] 4 - use crate::EvmType;
[INFO] [stdout] 4 + use evm_client::EvmType;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `smart_router` in this scope
[INFO] [stdout]  --> src/router.rs:248:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | let splits = smart_router.split_swap_across_versions(
[INFO] [stdout]   |              ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/analyze.rs - analyze::Analyze::analyze_fee_efficiency (line 410)
[INFO] [stdout]     src/analyze.rs - analyze::Analyze::cal_pool_health_score (line 248)
[INFO] [stdout]     src/analyze.rs - analyze::Analyze::detect_arbitrage_opportunities (line 210)
[INFO] [stdout]     src/analyze.rs - analyze::Analyze::discover_trading_pairs (line 297)
[INFO] [stdout]     src/analyze.rs - analyze::Analyze::monitor_liquidity_changes (line 67)
[INFO] [stdout]     src/events.rs - events::FarmEventListener::start_stake_listener (line 643)
[INFO] [stdout]     src/events.rs - events::TokenPriceEventListener::get_pair_tokens (line 486)
[INFO] [stdout]     src/events.rs - events::TokenPriceEventListener::start_price_change_listener (line 333)
[INFO] [stdout]     src/events.rs - events::UniswapEventListener::start_swap_listener (line 80)
[INFO] [stdout]     src/events.rs - events::UniswapEventManager::get_swap_events_in_range (line 557)
[INFO] [stdout]     src/factory.rs - factory::Factory::find_price_pairs (line 48)
[INFO] [stdout]     src/factory.rs - factory::Factory::get_pair_address (line 128)
[INFO] [stdout]     src/factory.rs - factory::Factory::new (line 22)
[INFO] [stdout]     src/farm.rs - farm::FarmService::claim_rewards (line 228)
[INFO] [stdout]     src/farm.rs - farm::FarmService::exit_farm (line 252)
[INFO] [stdout]     src/farm.rs - farm::FarmService::get_all_farms (line 35)
[INFO] [stdout]     src/farm.rs - farm::FarmService::get_farm_apy (line 296)
[INFO] [stdout]     src/farm.rs - farm::FarmService::get_farm_detail (line 78)
[INFO] [stdout]     src/farm.rs - farm::FarmService::get_farm_history (line 327)
[INFO] [stdout]     src/farm.rs - farm::FarmService::get_user_position (line 144)
[INFO] [stdout]     src/farm.rs - farm::FarmService::stake (line 179)
[INFO] [stdout]     src/farm.rs - farm::FarmService::unstake (line 204)
[INFO] [stdout]     src/lib.rs - UniswapService::add_liquidity (line 233)
[INFO] [stdout]     src/lib.rs - UniswapService::add_liquidity_eth (line 283)
[INFO] [stdout]     src/lib.rs - UniswapService::exact_input_single (line 330)
[INFO] [stdout]     src/lib.rs - UniswapService::get_amounts_in (line 90)
[INFO] [stdout]     src/lib.rs - UniswapService::get_amounts_out (line 64)
[INFO] [stdout]     src/lib.rs - UniswapService::remove_liquidity (line 439)
[INFO] [stdout]     src/lib.rs - UniswapService::remove_liquidity_eth (line 485)
[INFO] [stdout]     src/lib.rs - UniswapService::start_monitoring_new_pairs (line 553)
[INFO] [stdout]     src/lib.rs - UniswapService::start_monitoring_swaps (line 532)
[INFO] [stdout]     src/lib.rs - UniswapService::swap_exact_eth_for_tokens (line 157)
[INFO] [stdout]     src/lib.rs - UniswapService::swap_exact_tokens_for_eth (line 193)
[INFO] [stdout]     src/lib.rs - UniswapService::swap_exact_tokens_for_tokens (line 116)
[INFO] [stdout]     src/lib.rs - UniswapV4Service::get_pool_address (line 757)
[INFO] [stdout]     src/lib.rs - UniswapV4Service::get_pool_info (line 788)
[INFO] [stdout]     src/lib.rs - UniswapV4Service::get_pool_price (line 835)
[INFO] [stdout]     src/lib.rs - UniswapV4Service::get_position_info (line 919)
[INFO] [stdout]     src/lib.rs - UniswapV4Service::get_tick_info (line 948)
[INFO] [stdout]     src/lib.rs - UniswapV4Service::initialize_pool (line 597)
[INFO] [stdout]     src/lib.rs - UniswapV4Service::modify_position (line 705)
[INFO] [stdout]     src/lib.rs - UniswapV4Service::swap (line 653)
[INFO] [stdout]     src/liquidity.rs - liquidity::LiquidityPoolFinder::find_pools_by_tvl_threshold (line 272)
[INFO] [stdout]     src/liquidity.rs - liquidity::LiquidityPoolFinder::find_top_liquidity_pool (line 246)
[INFO] [stdout]     src/liquidity.rs - liquidity::LiquidityPoolFinder::get_pool_health_score (line 303)
[INFO] [stdout]     src/liquidity.rs - liquidity::LiquidityPoolFinder::get_token_liquidity_overview (line 347)
[INFO] [stdout]     src/oracle.rs - oracle::PriceOracleAggregator::check_price_health (line 203)
[INFO] [stdout]     src/oracle.rs - oracle::PriceOracleAggregator::get_manipulation_resistant_price (line 97)
[INFO] [stdout]     src/oracle.rs - oracle::PriceOracleAggregator::get_twap (line 66)
[INFO] [stdout]     src/oracle.rs - oracle::PriceOracleAggregator::new (line 44)
[INFO] [stdout]     src/price.rs - price::Price::cal_price_impact (line 77)
[INFO] [stdout]     src/price.rs - price::Price::get_token_current_price (line 173)
[INFO] [stdout]     src/price.rs - price::Price::get_token_price_auto (line 50)
[INFO] [stdout]     src/price.rs - price::TokenPriceHistory::export_to_csv (line 823)
[INFO] [stdout]     src/price.rs - price::TokenPriceHistory::get_price_statistics (line 743)
[INFO] [stdout]     src/price.rs - price::TokenPriceHistory::get_recent_prices (line 522)
[INFO] [stdout]     src/risk.rs - risk::Risk::assess_swap_health (line 198)
[INFO] [stdout]     src/risk.rs - risk::Risk::calculate_dynamic_slippage_tolerance (line 144)
[INFO] [stdout]     src/risk.rs - risk::Risk::calculate_max_swap_amount (line 63)
[INFO] [stdout]     src/risk.rs - risk::Risk::detect_sandwich_attack_risk (line 93)
[INFO] [stdout]     src/risk.rs - risk::Risk::new (line 45)
[INFO] [stdout]     src/router.rs - router::Router::new (line 17)
[INFO] [stdout]     src/router.rs - router::Router::v2_router (line 34)
[INFO] [stdout]     src/router.rs - router::Router::v3_router (line 54)
[INFO] [stdout]     src/router.rs - router::SmartRouter::find_optimal_route (line 135)
[INFO] [stdout]     src/router.rs - router::SmartRouter::new (line 112)
[INFO] [stdout]     src/router.rs - router::SmartRouter::split_swap_across_versions (line 243)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 67 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.04s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 9.73s; merged doctests compilation took 0.68s
[INFO] running `Command { std: "docker" "inspect" "ff2b7c840702514a10fe52c22d8e08910a916a57ea0534237a98cf2e17088a2a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff2b7c840702514a10fe52c22d8e08910a916a57ea0534237a98cf2e17088a2a", kill_on_drop: false }`
[INFO] [stdout] ff2b7c840702514a10fe52c22d8e08910a916a57ea0534237a98cf2e17088a2a
