[INFO] cloning repository https://github.com/billhilly23/TAZ-BOT
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/billhilly23/TAZ-BOT" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbillhilly23%2FTAZ-BOT", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbillhilly23%2FTAZ-BOT'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 71bc6dbf67cfe4ba643c31d563e5a5bf68b6704f
[INFO] checking billhilly23/TAZ-BOT against master#e1613686e0efc80a1a18b1263625450a8de3fb04 for pr-154492-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbillhilly23%2FTAZ-BOT" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/billhilly23/TAZ-BOT
[INFO] finished tweaking git repo https://github.com/billhilly23/TAZ-BOT
[INFO] tweaked toml for git repo https://github.com/billhilly23/TAZ-BOT written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/billhilly23/TAZ-BOT on toolchain e1613686e0efc80a1a18b1263625450a8de3fb04
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/billhilly23/TAZ-BOT already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "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]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded schannel v0.1.26
[INFO] [stderr]   Downloaded sha-1 v0.9.8
[INFO] [stderr]   Downloaded env_filter v0.1.2
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.95
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.95
[INFO] [stderr]   Downloaded web3-async-native-tls v0.4.0
[INFO] [stderr]   Downloaded quoted_printable v0.4.8
[INFO] [stderr]   Downloaded impl-rlp v0.3.0
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.95
[INFO] [stderr]   Downloaded ethereum-types v0.14.1
[INFO] [stderr]   Downloaded email-encoding v0.2.1
[INFO] [stderr]   Downloaded twilio v1.1.0
[INFO] [stderr]   Downloaded ethbloom v0.13.0
[INFO] [stderr]   Downloaded tokio-tungstenite v0.21.0
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.95
[INFO] [stderr]   Downloaded soketto v0.7.1
[INFO] [stderr]   Downloaded env_logger v0.11.5
[INFO] [stderr]   Downloaded pin-project-internal v1.1.6
[INFO] [stderr]   Downloaded derive_more v0.99.18
[INFO] [stderr]   Downloaded impl-serde v0.4.0
[INFO] [stderr]   Downloaded pin-project v1.1.6
[INFO] [stderr]   Downloaded tungstenite v0.21.0
[INFO] [stderr]   Downloaded js-sys v0.3.72
[INFO] [stderr]   Downloaded warp v0.3.7
[INFO] [stderr]   Downloaded web3 v0.19.0
[INFO] [stderr]   Downloaded lettre v0.10.4
[INFO] [stderr]   Downloaded winnow v0.6.20
[INFO] [stderr]   Downloaded toml_edit v0.22.22
[INFO] [stderr]   Downloaded ethabi v18.0.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.87
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.95
[INFO] [stderr]   Downloaded secp256k1 v0.27.0
[INFO] [stderr]   Downloaded idna v0.3.0
[INFO] [stderr]   Downloaded secp256k1-sys v0.8.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f275e8f32af6e5db34f07fa6ec88234185e50dd1ef0d3f506d05764176eb49d0
[INFO] running `Command { std: "docker" "start" "-a" "f275e8f32af6e5db34f07fa6ec88234185e50dd1ef0d3f506d05764176eb49d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f275e8f32af6e5db34f07fa6ec88234185e50dd1ef0d3f506d05764176eb49d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f275e8f32af6e5db34f07fa6ec88234185e50dd1ef0d3f506d05764176eb49d0", kill_on_drop: false }`
[INFO] [stdout] f275e8f32af6e5db34f07fa6ec88234185e50dd1ef0d3f506d05764176eb49d0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3584aed852ee18b3e4f5ceddebaeb8b48c6b10be896d3820797386db571de3b7
[INFO] running `Command { std: "docker" "start" "-a" "3584aed852ee18b3e4f5ceddebaeb8b48c6b10be896d3820797386db571de3b7", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.87
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling libc v0.2.159
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]     Checking bytes v1.7.2
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling cc v1.1.28
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling openssl v0.10.66
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking tinyvec v1.8.0
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]     Checking unicode-bidi v0.3.17
[INFO] [stderr]    Compiling serde_json v1.0.128
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling thiserror v1.0.64
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]     Checking hashbrown v0.15.0
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking cpufeatures v0.2.14
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling syn v2.0.79
[INFO] [stderr]     Checking indexmap v2.6.0
[INFO] [stderr]     Checking unicode-normalization v0.1.24
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]     Checking rustc-hex v2.1.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking rlp v0.5.2
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking url v2.5.2
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]    Compiling tokio v1.40.0
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling rustix v0.38.37
[INFO] [stderr]    Compiling openssl-sys v0.9.103
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling event-listener v5.3.1
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]     Checking impl-rlp v0.3.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling unicode-properties v0.1.3
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling secp256k1-sys v0.8.1
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]     Checking uint v0.9.5
[INFO] [stderr]     Checking headers-core v0.2.0
[INFO] [stderr]    Compiling fastrand v2.1.1
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]    Compiling whoami v1.5.2
[INFO] [stderr]     Checking headers v0.3.9
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]    Compiling multer v2.1.0
[INFO] [stderr]     Checking ipnet v2.10.1
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]     Checking data-encoding v2.6.0
[INFO] [stderr]     Checking keccak v0.1.5
[INFO] [stderr]     Checking anstyle-parse v0.2.5
[INFO] [stderr]     Checking sha-1 v0.9.8
[INFO] [stderr]     Checking regex-automata v0.4.8
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking rustls-pki-types v1.9.0
[INFO] [stderr]     Checking anstyle v1.0.8
[INFO] [stderr]     Checking anstyle-query v1.1.1
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]     Checking colorchoice v1.0.2
[INFO] [stderr]     Checking sqlformat v0.2.6
[INFO] [stderr]     Checking email-encoding v0.2.1
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking idna v0.3.0
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking sync_wrapper v1.0.1
[INFO] [stderr]     Checking anstream v0.6.15
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking email_address v0.2.9
[INFO] [stderr]     Checking iana-time-zone v0.1.61
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking quoted_printable v0.4.8
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking fastrand v1.9.0
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]    Compiling tempfile v3.13.0
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.64
[INFO] [stderr]    Compiling pin-project-internal v1.1.6
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]    Compiling derive_more v0.99.18
[INFO] [stderr]     Checking secp256k1 v0.27.0
[INFO] [stderr]     Checking regex v1.11.0
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking pin-project v1.1.6
[INFO] [stderr]     Checking env_filter v0.1.2
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking env_logger v0.11.5
[INFO] [stderr]    Compiling tokio-stream v0.1.16
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]     Checking fixed-hash v0.8.0
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking soketto v0.7.1
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]     Checking impl-serde v0.4.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking ethbloom v0.13.0
[INFO] [stderr]     Checking primitive-types v0.12.2
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]     Checking jsonrpc-core v18.0.0
[INFO] [stderr]    Compiling sqlx-core v0.8.2
[INFO] [stderr]     Checking ethereum-types v0.14.1
[INFO] [stderr]     Checking ethabi v18.0.0
[INFO] [stderr]    Compiling sqlx-postgres v0.8.2
[INFO] [stderr]     Checking tokio-util v0.7.12
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking web3-async-native-tls v0.4.0
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[INFO] [stderr]     Checking lettre v0.10.4
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking h2 v0.4.6
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.2
[INFO] [stderr]    Compiling sqlx-macros v0.8.2
[INFO] [stderr]     Checking hyper v1.4.1
[INFO] [stderr]     Checking hyper v0.14.30
[INFO] [stderr]     Checking hyper-util v0.1.9
[INFO] [stderr]     Checking sqlx v0.8.2
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.8
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking warp v0.3.7
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking twilio v1.1.0
[INFO] [stderr]     Checking web3 v0.19.0
[INFO] [stderr]     Checking taz v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected item, found keyword `let`
[INFO] [stdout]    --> src/modules/arbitrage.rs:114:6
[INFO] [stdout]     |
[INFO] [stdout] 114 | }    let config = load_arbitrage_config();
[INFO] [stdout]     |      ^^^
[INFO] [stdout]     |      |
[INFO] [stdout]     |      `let` cannot be used for global variables
[INFO] [stdout]     |      help: consider using `static` or `const` instead of `let`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected item, found keyword `let`
[INFO] [stdout]    --> src/modules/arbitrage.rs:114:6
[INFO] [stdout]     |
[INFO] [stdout] 114 | }    let config = load_arbitrage_config();
[INFO] [stdout]     |      ^^^
[INFO] [stdout]     |      |
[INFO] [stdout]     |      `let` cannot be used for global variables
[INFO] [stdout]     |      help: consider using `static` or `const` instead of `let`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/../abi/aave_flashloan_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/modules/flashloan.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         include_bytes!("../abi/aave_flashloan_abi.json")
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a file with the same name in a different directory
[INFO] [stdout]    |
[INFO] [stdout] 74 -         include_bytes!("../abi/aave_flashloan_abi.json")
[INFO] [stdout] 74 +         include_bytes!("abi/aave_flashloan_abi.json")
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/../abi/aave_flashloan_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/modules/flashloan.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         include_bytes!("../abi/aave_flashloan_abi.json")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a file with the same name in a different directory
[INFO] [stdout]     |
[INFO] [stdout] 134 -         include_bytes!("../abi/aave_flashloan_abi.json")
[INFO] [stdout] 134 +         include_bytes!("abi/aave_flashloan_abi.json")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/../abi/uniswap_router_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/modules/frontrunning.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         include_bytes!("../abi/uniswap_router_abi.json")
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/abi/chainlink_aggregator_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/modules/liquidation.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 | const CHAINLINK_AGGREGATOR_ABI: &[u8] = include_bytes!("abi/chainlink_aggregator_abi.json");
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/abi/aave_pool_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/modules/liquidation.rs:56:76
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let aave_pool = Contract::from_json(web3.eth(), aave_pool_address, include_bytes!("abi/aave_pool_abi.json"))?;
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/abi/uniswap_router_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/modules/sandwich.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |         include_bytes!("abi/uniswap_router_abi.json")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/abi/uniswap_router_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/modules/hft.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         include_bytes!("abi/uniswap_router_abi.json"),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/abi/uniswap_router_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/modules/hft.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         include_bytes!("abi/uniswap_router_abi.json"),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/../abi/aave_flashloan_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/modules/flashloan.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         include_bytes!("../abi/aave_flashloan_abi.json")
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a file with the same name in a different directory
[INFO] [stdout]    |
[INFO] [stdout] 74 -         include_bytes!("../abi/aave_flashloan_abi.json")
[INFO] [stdout] 74 +         include_bytes!("abi/aave_flashloan_abi.json")
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/../abi/aave_flashloan_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/modules/flashloan.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         include_bytes!("../abi/aave_flashloan_abi.json")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a file with the same name in a different directory
[INFO] [stdout]     |
[INFO] [stdout] 134 -         include_bytes!("../abi/aave_flashloan_abi.json")
[INFO] [stdout] 134 +         include_bytes!("abi/aave_flashloan_abi.json")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/../abi/uniswap_router_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/modules/frontrunning.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         include_bytes!("../abi/uniswap_router_abi.json")
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/abi/chainlink_aggregator_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/modules/liquidation.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 | const CHAINLINK_AGGREGATOR_ABI: &[u8] = include_bytes!("abi/chainlink_aggregator_abi.json");
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/abi/aave_pool_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/modules/liquidation.rs:56:76
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let aave_pool = Contract::from_json(web3.eth(), aave_pool_address, include_bytes!("abi/aave_pool_abi.json"))?;
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/abi/uniswap_router_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/modules/sandwich.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |         include_bytes!("abi/uniswap_router_abi.json")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `BlockId` in this scope
[INFO] [stdout]   --> src/modules/frontrunning.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     if let Ok(block) = web3.eth().block(BlockId::Pending).await {
[INFO] [stdout]    |                                         ^^^^^^^ use of undeclared type `BlockId`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use web3::types::BlockId;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/abi/uniswap_router_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]   --> src/modules/hft.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         include_bytes!("abi/uniswap_router_abi.json"),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `calculate_dynamic_loan_amount` in this scope
[INFO] [stdout]   --> src/modules/hft.rs:85:28
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let flashloan_amount = calculate_dynamic_loan_amount(expected_profit, gas_fee, slippage);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::modules::flashloan::calculate_dynamic_loan_amount;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::modules::sandwich::calculate_dynamic_loan_amount;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `ð_node_url` in this scope
[INFO] [stdout]   --> src/main.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let transport = Http::new(ð_node_url)?;
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 46 -     let transport = Http::new(ð_node_url)?;
[INFO] [stdout] 46 +     let transport = Http::new(eth_node_url)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `execute_liquidation` in module `modules::liquidation`
[INFO] [stdout]   --> src/main.rs:85:35
[INFO] [stdout]    |
[INFO] [stdout] 85 |             modules::liquidation::execute_liquidation(web3.clone(), borrower_address, U256::zero(), collateral_asset).await.unwrap();
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^ not found in `modules::liquidation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `execute_liquidation` in module `modules::liquidation`
[INFO] [stdout]    --> src/main.rs:132:47
[INFO] [stdout]     |
[INFO] [stdout] 132 | ...   modules::liquidation::execute_liquidation(web3.clone(), borrower_address, U256::zero(), collateral_asset).await.unwrap();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^ not found in `modules::liquidation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/modules/abi/uniswap_router_abi.json`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/modules/hft.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         include_bytes!("abi/uniswap_router_abi.json"),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/modules/flashloan.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/modules/frontrunning.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `web3::ethabi::ethereum_types::H256`
[INFO] [stdout]   --> src/modules/frontrunning.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use web3::ethabi::ethereum_types::H256;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task`
[INFO] [stdout]  --> src/modules/sandwich.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::task;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> src/modules/hft.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `BlockId` in this scope
[INFO] [stdout]   --> src/modules/frontrunning.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     if let Ok(block) = web3.eth().block(BlockId::Pending).await {
[INFO] [stdout]    |                                         ^^^^^^^ use of undeclared type `BlockId`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  1 + use web3::types::BlockId;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `calculate_dynamic_loan_amount` in this scope
[INFO] [stdout]   --> src/modules/hft.rs:85:28
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let flashloan_amount = calculate_dynamic_loan_amount(expected_profit, gas_fee, slippage);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::modules::flashloan::calculate_dynamic_loan_amount;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::modules::sandwich::calculate_dynamic_loan_amount;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `ð_node_url` in this scope
[INFO] [stdout]   --> src/main.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let transport = Http::new(ð_node_url)?;
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 46 -     let transport = Http::new(ð_node_url)?;
[INFO] [stdout] 46 +     let transport = Http::new(eth_node_url)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `execute_liquidation` in module `modules::liquidation`
[INFO] [stdout]   --> src/main.rs:85:35
[INFO] [stdout]    |
[INFO] [stdout] 85 |             modules::liquidation::execute_liquidation(web3.clone(), borrower_address, U256::zero(), collateral_asset).await.unwrap();
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^ not found in `modules::liquidation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `execute_liquidation` in module `modules::liquidation`
[INFO] [stdout]    --> src/main.rs:132:47
[INFO] [stdout]     |
[INFO] [stdout] 132 | ...   modules::liquidation::execute_liquidation(web3.clone(), borrower_address, U256::zero(), collateral_asset).await.unwrap();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^ not found in `modules::liquidation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/modules/flashloan.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/modules/frontrunning.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `web3::ethabi::ethereum_types::H256`
[INFO] [stdout]   --> src/modules/frontrunning.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use web3::ethabi::ethereum_types::H256;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task`
[INFO] [stdout]  --> src/modules/sandwich.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::task;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> src/modules/hft.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/modules/frontrunning.rs:63:62
[INFO] [stdout]     |
[INFO] [stdout]  63 |                 if let Ok(Some(tx)) = web3.eth().transaction(tx_hash).await {
[INFO] [stdout]     |                                                  ----------- ^^^^^^^ expected `TransactionId`, found `H256`
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/web3-0.19.0/src/api/eth.rs:220:12
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn transaction(&self, id: TransactionId) -> CallFuture<Option<Transaction>, T::Out> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `web3::types::TransactionId::Hash`
[INFO] [stdout]     |
[INFO] [stdout]  63 |                 if let Ok(Some(tx)) = web3.eth().transaction(web3::types::TransactionId::Hash(tx_hash)).await {
[INFO] [stdout]     |                                                              +++++++++++++++++++++++++++++++++       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `target_transaction`
[INFO] [stdout]    --> src/modules/frontrunning.rs:134:49
[INFO] [stdout]     |
[INFO] [stdout] 127 |     target_transaction: Transaction,
[INFO] [stdout]     |     ------------------ move occurs because `target_transaction` has type `Transaction`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 133 |     while attempts < max_retries {
[INFO] [stdout]     |     ---------------------------- inside of this loop
[INFO] [stdout] 134 |         let result = execute_frontrunning(web3, target_transaction).await;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ value moved here, in previous iteration of loop
[INFO] [stdout]     |
[INFO] [stdout] note: consider changing this parameter type in function `execute_frontrunning` to borrow instead if owning the value isn't necessary
[INFO] [stdout]    --> src/modules/frontrunning.rs:89:25
[INFO] [stdout]     |
[INFO] [stdout]  87 | pub async fn execute_frontrunning(
[INFO] [stdout]     |              -------------------- in this function
[INFO] [stdout]  88 |     web3: &web3::Web3<Http>,
[INFO] [stdout]  89 |     target_transaction: Transaction
[INFO] [stdout]     |                         ^^^^^^^^^^^ this parameter takes ownership of the value
[INFO] [stdout] help: consider moving the expression out of the loop so it is only moved once
[INFO] [stdout]     |
[INFO] [stdout] 133 ~     let mut value = execute_frontrunning(web3, target_transaction);
[INFO] [stdout] 134 ~     while attempts < max_retries {
[INFO] [stdout] 135 ~         let result = value.await;
[INFO] [stdout]     |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let result = execute_frontrunning(web3, target_transaction.clone()).await;
[INFO] [stdout]     |                                                                   ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/modules/frontrunning.rs:63:62
[INFO] [stdout]     |
[INFO] [stdout]  63 |                 if let Ok(Some(tx)) = web3.eth().transaction(tx_hash).await {
[INFO] [stdout]     |                                                  ----------- ^^^^^^^ expected `TransactionId`, found `H256`
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/web3-0.19.0/src/api/eth.rs:220:12
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn transaction(&self, id: TransactionId) -> CallFuture<Option<Transaction>, T::Out> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] help: try wrapping the expression in `web3::types::TransactionId::Hash`
[INFO] [stdout]     |
[INFO] [stdout]  63 |                 if let Ok(Some(tx)) = web3.eth().transaction(web3::types::TransactionId::Hash(tx_hash)).await {
[INFO] [stdout]     |                                                              +++++++++++++++++++++++++++++++++       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `target_transaction`
[INFO] [stdout]    --> src/modules/frontrunning.rs:134:49
[INFO] [stdout]     |
[INFO] [stdout] 127 |     target_transaction: Transaction,
[INFO] [stdout]     |     ------------------ move occurs because `target_transaction` has type `Transaction`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 133 |     while attempts < max_retries {
[INFO] [stdout]     |     ---------------------------- inside of this loop
[INFO] [stdout] 134 |         let result = execute_frontrunning(web3, target_transaction).await;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ value moved here, in previous iteration of loop
[INFO] [stdout]     |
[INFO] [stdout] note: consider changing this parameter type in function `execute_frontrunning` to borrow instead if owning the value isn't necessary
[INFO] [stdout]    --> src/modules/frontrunning.rs:89:25
[INFO] [stdout]     |
[INFO] [stdout]  87 | pub async fn execute_frontrunning(
[INFO] [stdout]     |              -------------------- in this function
[INFO] [stdout]  88 |     web3: &web3::Web3<Http>,
[INFO] [stdout]  89 |     target_transaction: Transaction
[INFO] [stdout]     |                         ^^^^^^^^^^^ this parameter takes ownership of the value
[INFO] [stdout] help: consider moving the expression out of the loop so it is only moved once
[INFO] [stdout]     |
[INFO] [stdout] 133 ~     let mut value = execute_frontrunning(web3, target_transaction);
[INFO] [stdout] 134 ~     while attempts < max_retries {
[INFO] [stdout] 135 ~         let result = value.await;
[INFO] [stdout]     |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let result = execute_frontrunning(web3, target_transaction.clone()).await;
[INFO] [stdout]     |                                                                   ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_ok` found for unit type `()` in the current scope
[INFO] [stdout]    --> src/modules/liquidation.rs:131:29
[INFO] [stdout]     |
[INFO] [stdout] 131 |         if flashloan_result.is_ok() {
[INFO] [stdout]     |                             ^^^^^ method not found in `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_ok` found for unit type `()` in the current scope
[INFO] [stdout]    --> src/modules/liquidation.rs:131:29
[INFO] [stdout]     |
[INFO] [stdout] 131 |         if flashloan_result.is_ok() {
[INFO] [stdout]     |                             ^^^^^ method not found in `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap_err` found for unit type `()` in the current scope
[INFO] [stdout]    --> src/modules/liquidation.rs:136:66
[INFO] [stdout]     |
[INFO] [stdout] 136 |             Err(LiquidationError::ContractError(flashloan_result.unwrap_err()))
[INFO] [stdout]     |                                                                  ^^^^^^^^^^ method not found in `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `web3` found for struct `web3::contract::Contract<T>` in the current scope
[INFO] [stdout]    --> src/modules/liquidation.rs:167:69
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let chainlink_contract = Contract::from_json(self.aave_pool.web3().eth(), price_feed_address, CHAINLINK_AGGREGATOR_ABI)?;
[INFO] [stdout]     |                                                                     ^^^^ method not found in `web3::contract::Contract<&Http>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap_err` found for unit type `()` in the current scope
[INFO] [stdout]    --> src/modules/liquidation.rs:136:66
[INFO] [stdout]     |
[INFO] [stdout] 136 |             Err(LiquidationError::ContractError(flashloan_result.unwrap_err()))
[INFO] [stdout]     |                                                                  ^^^^^^^^^^ method not found in `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `TransactionRequest` in the current scope
[INFO] [stdout]   --> src/modules/sandwich.rs:50:76
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 if let Ok(tx) = web3.eth().transaction(TransactionRequest::new().hash(tx_hash)).await {
[INFO] [stdout]    |                                                                            ^^^ function or associated item not found in `TransactionRequest`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `ne` with a similar name, but with different arguments
[INFO] [stdout]   --> /rustc/e1613686e0efc80a1a18b1263625450a8de3fb04/library/core/src/cmp.rs:264:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/modules/sandwich.rs:58:39
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...                   return Ok(transaction.from); // Return the sender address of the large transaction
[INFO] [stdout]    |                              -- ^^^^^^^^^^^^^^^^ expected `H160`, found `Option<H160>`
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `H160`
[INFO] [stdout]                 found enum `Option<H160>`
[INFO] [stdout] help: the type constructed contains `Option<H160>` due to the type of the argument passed
[INFO] [stdout]   --> src/modules/sandwich.rs:58:36
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...                   return Ok(transaction.from); // Return the sender address of the large transaction
[INFO] [stdout]    |                              ^^^----------------^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 this argument influences the type of `Ok`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /rustc/e1613686e0efc80a1a18b1263625450a8de3fb04/library/core/src/result.rs:561:4
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `Option<H160>` value, panicking if the value is an `Option::None`
[INFO] [stdout]    |
[INFO] [stdout] 58 |                             return Ok(transaction.from.expect("REASON")); // Return the sender address of the large transaction
[INFO] [stdout]    |                                                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `web3` found for struct `web3::contract::Contract<T>` in the current scope
[INFO] [stdout]    --> src/modules/liquidation.rs:167:69
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let chainlink_contract = Contract::from_json(self.aave_pool.web3().eth(), price_feed_address, CHAINLINK_AGGREGATOR_ABI)?;
[INFO] [stdout]     |                                                                     ^^^^ method not found in `web3::contract::Contract<&Http>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]   --> src/modules/sandwich.rs:91:30
[INFO] [stdout]    |
[INFO] [stdout] 91 |         vec!["TOKEN_ADDRESS".parse().unwrap()],
[INFO] [stdout]    |                              ^^^^^ cannot infer type of the type parameter `F` declared on the method `parse`
[INFO] [stdout]    |
[INFO] [stdout]    = note: cannot satisfy `<_ as FromStr>::Err == _`
[INFO] [stdout] help: consider specifying the generic argument
[INFO] [stdout]    |
[INFO] [stdout] 91 |         vec!["TOKEN_ADDRESS".parse::<F>().unwrap()],
[INFO] [stdout]    |                                   +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `TransactionRequest` in the current scope
[INFO] [stdout]   --> src/modules/sandwich.rs:50:76
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 if let Ok(tx) = web3.eth().transaction(TransactionRequest::new().hash(tx_hash)).await {
[INFO] [stdout]    |                                                                            ^^^ function or associated item not found in `TransactionRequest`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `ne` with a similar name, but with different arguments
[INFO] [stdout]   --> /rustc/e1613686e0efc80a1a18b1263625450a8de3fb04/library/core/src/cmp.rs:264:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/modules/sandwich.rs:58:39
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...                   return Ok(transaction.from); // Return the sender address of the large transaction
[INFO] [stdout]    |                              -- ^^^^^^^^^^^^^^^^ expected `H160`, found `Option<H160>`
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `H160`
[INFO] [stdout]                 found enum `Option<H160>`
[INFO] [stdout] help: the type constructed contains `Option<H160>` due to the type of the argument passed
[INFO] [stdout]   --> src/modules/sandwich.rs:58:36
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...                   return Ok(transaction.from); // Return the sender address of the large transaction
[INFO] [stdout]    |                              ^^^----------------^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 this argument influences the type of `Ok`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /rustc/e1613686e0efc80a1a18b1263625450a8de3fb04/library/core/src/result.rs:561:4
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `Option<H160>` value, panicking if the value is an `Option::None`
[INFO] [stdout]    |
[INFO] [stdout] 58 |                             return Ok(transaction.from.expect("REASON")); // Return the sender address of the large transaction
[INFO] [stdout]    |                                                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed
[INFO] [stdout]   --> src/modules/sandwich.rs:91:30
[INFO] [stdout]    |
[INFO] [stdout] 91 |         vec!["TOKEN_ADDRESS".parse().unwrap()],
[INFO] [stdout]    |                              ^^^^^ cannot infer type of the type parameter `F` declared on the method `parse`
[INFO] [stdout]    |
[INFO] [stdout]    = note: cannot satisfy `<_ as FromStr>::Err == _`
[INFO] [stdout] help: consider specifying the generic argument
[INFO] [stdout]    |
[INFO] [stdout] 91 |         vec!["TOKEN_ADDRESS".parse::<F>().unwrap()],
[INFO] [stdout]    |                                   +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/modules/sandwich.rs:99:10
[INFO] [stdout]     |
[INFO] [stdout]  99 |         .call("flashLoan", params, Address::zero(), Options::default())
[INFO] [stdout]     |          ^^^^ cannot infer type of the type parameter `P` declared on the method `call`
[INFO] [stdout]     |
[INFO] [stdout]     = note: multiple `impl`s satisfying `Vec<_>: Tokenizable` found in the `web3` crate:
[INFO] [stdout]             - impl Tokenizable for Vec<u8>;
[INFO] [stdout]             - impl<T> Tokenizable for Vec<T>
[INFO] [stdout]               where T: TokenizableItem;
[INFO] [stdout]     = note: required for `(Vec<_>, Vec<U256>, Vec<i32>, _, Vec<u8>)` to implement `Tokenize`
[INFO] [stdout] note: required by a bound in `web3::contract::Contract::<T>::call`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/web3-0.19.0/src/contract/mod.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub async fn call<P>(&self, func: &str, params: P, from: Address, options: Options) -> Result<H256>
[INFO] [stdout]     |                  ---- required by a bound in this associated function
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 |         P: Tokenize,
[INFO] [stdout]     |            ^^^^^^^^ required by this bound in `Contract::<T>::call`
[INFO] [stdout] help: consider specifying the generic argument
[INFO] [stdout]     |
[INFO] [stdout]  99 |         .call::<(Vec<_>, Vec<U256>, Vec<i32>, _, Vec<u8>)>("flashLoan", params, Address::zero(), Options::default())
[INFO] [stdout]     |              +++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/modules/sandwich.rs:99:10
[INFO] [stdout]     |
[INFO] [stdout]  99 |         .call("flashLoan", params, Address::zero(), Options::default())
[INFO] [stdout]     |          ^^^^ cannot infer type of the type parameter `P` declared on the method `call`
[INFO] [stdout]     |
[INFO] [stdout]     = note: multiple `impl`s satisfying `Vec<_>: Tokenizable` found in the `web3` crate:
[INFO] [stdout]             - impl Tokenizable for Vec<u8>;
[INFO] [stdout]             - impl<T> Tokenizable for Vec<T>
[INFO] [stdout]               where T: TokenizableItem;
[INFO] [stdout]     = note: required for `(Vec<_>, Vec<U256>, Vec<i32>, _, Vec<u8>)` to implement `Tokenize`
[INFO] [stdout] note: required by a bound in `web3::contract::Contract::<T>::call`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/web3-0.19.0/src/contract/mod.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub async fn call<P>(&self, func: &str, params: P, from: Address, options: Options) -> Result<H256>
[INFO] [stdout]     |                  ---- required by a bound in this associated function
[INFO] [stdout] 129 |     where
[INFO] [stdout] 130 |         P: Tokenize,
[INFO] [stdout]     |            ^^^^^^^^ required by this bound in `Contract::<T>::call`
[INFO] [stdout] help: consider specifying the generic argument
[INFO] [stdout]     |
[INFO] [stdout]  99 |         .call::<(Vec<_>, Vec<U256>, Vec<i32>, _, Vec<u8>)>("flashLoan", params, Address::zero(), Options::default())
[INFO] [stdout]     |              +++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this method are incorrect
[INFO] [stdout]    --> src/modules/sandwich.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 | ...  .call("swapExactTokensForTokens", (flashloan_amount, U256::from(1), path.clone(), recipient, deadline), Options::default(), None)
[INFO] [stdout]     |       ^^^^                                                                                                   ------------------  ---- unexpected argument #4 of type `Option<_>`
[INFO] [stdout]     |                                                                                                              |
[INFO] [stdout]     |                                                                                                              argument #3 of type `H160` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/web3-0.19.0/src/contract/mod.rs:128:18
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub async fn call<P>(&self, func: &str, params: P, from: Address, options: Options) -> Result<H256>
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] help: did you mean
[INFO] [stdout]     |
[INFO] [stdout] 132 -         .call("swapExactTokensForTokens", (flashloan_amount, U256::from(1), path.clone(), recipient, deadline), Options::default(), None)
[INFO] [stdout] 132 +         .call("swapExactTokensForTokens", (flashloan_amount, U256::from(1), path.clone(), recipient, deadline), /* H160 */, Options::default())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this method are incorrect
[INFO] [stdout]    --> src/modules/sandwich.rs:139:10
[INFO] [stdout]     |
[INFO] [stdout] 139 |         .call("swapExactTokensForTokens", (flashloan_amount, U256::from(1), path, recipient, deadline), Options::default(), None)
[INFO] [stdout]     |          ^^^^                                                                                           ------------------  ---- unexpected argument #4 of type `Option<_>`
[INFO] [stdout]     |                                                                                                         |
[INFO] [stdout]     |                                                                                                         argument #3 of type `H160` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/web3-0.19.0/src/contract/mod.rs:128:18
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub async fn call<P>(&self, func: &str, params: P, from: Address, options: Options) -> Result<H256>
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] help: did you mean
[INFO] [stdout]     |
[INFO] [stdout] 139 -         .call("swapExactTokensForTokens", (flashloan_amount, U256::from(1), path, recipient, deadline), Options::default(), None)
[INFO] [stdout] 139 +         .call("swapExactTokensForTokens", (flashloan_amount, U256::from(1), path, recipient, deadline), /* H160 */, Options::default())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this method are incorrect
[INFO] [stdout]    --> src/modules/sandwich.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 | ...  .call("swapExactTokensForTokens", (flashloan_amount, U256::from(1), path.clone(), recipient, deadline), Options::default(), None)
[INFO] [stdout]     |       ^^^^                                                                                                   ------------------  ---- unexpected argument #4 of type `Option<_>`
[INFO] [stdout]     |                                                                                                              |
[INFO] [stdout]     |                                                                                                              argument #3 of type `H160` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/web3-0.19.0/src/contract/mod.rs:128:18
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub async fn call<P>(&self, func: &str, params: P, from: Address, options: Options) -> Result<H256>
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] help: did you mean
[INFO] [stdout]     |
[INFO] [stdout] 132 -         .call("swapExactTokensForTokens", (flashloan_amount, U256::from(1), path.clone(), recipient, deadline), Options::default(), None)
[INFO] [stdout] 132 +         .call("swapExactTokensForTokens", (flashloan_amount, U256::from(1), path.clone(), recipient, deadline), /* H160 */, Options::default())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this method are incorrect
[INFO] [stdout]    --> src/modules/sandwich.rs:139:10
[INFO] [stdout]     |
[INFO] [stdout] 139 |         .call("swapExactTokensForTokens", (flashloan_amount, U256::from(1), path, recipient, deadline), Options::default(), None)
[INFO] [stdout]     |          ^^^^                                                                                           ------------------  ---- unexpected argument #4 of type `Option<_>`
[INFO] [stdout]     |                                                                                                         |
[INFO] [stdout]     |                                                                                                         argument #3 of type `H160` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/web3-0.19.0/src/contract/mod.rs:128:18
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub async fn call<P>(&self, func: &str, params: P, from: Address, options: Options) -> Result<H256>
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] help: did you mean
[INFO] [stdout]     |
[INFO] [stdout] 139 -         .call("swapExactTokensForTokens", (flashloan_amount, U256::from(1), path, recipient, deadline), Options::default(), None)
[INFO] [stdout] 139 +         .call("swapExactTokensForTokens", (flashloan_amount, U256::from(1), path, recipient, deadline), /* H160 */, Options::default())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this method are incorrect
[INFO] [stdout]    --> src/modules/sandwich.rs:186:10
[INFO] [stdout]     |
[INFO] [stdout] 186 |         .call("repay", ("TOKEN_ADDRESS".parse().unwrap(), repay_amount, "SENDER_ADDRESS".parse().unwrap()), Options::default(), None)
[INFO] [stdout]     |          ^^^^                                                                                               ------------------  ---- unexpected argument #4 of type `Option<_>`
[INFO] [stdout]     |                                                                                                             |
[INFO] [stdout]     |                                                                                                             argument #3 of type `H160` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/web3-0.19.0/src/contract/mod.rs:128:18
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub async fn call<P>(&self, func: &str, params: P, from: Address, options: Options) -> Result<H256>
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] help: did you mean
[INFO] [stdout]     |
[INFO] [stdout] 186 -         .call("repay", ("TOKEN_ADDRESS".parse().unwrap(), repay_amount, "SENDER_ADDRESS".parse().unwrap()), Options::default(), None)
[INFO] [stdout] 186 +         .call("repay", ("TOKEN_ADDRESS".parse().unwrap(), repay_amount, "SENDER_ADDRESS".parse().unwrap()), /* H160 */, Options::default())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HFTError`
[INFO] [stdout]    --> src/modules/hft.rs:34:6
[INFO] [stdout]     |
[INFO] [stdout]  30 |       let uniswap_router_contract = Contract::from_json(
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout]  31 | |         web3.eth(),
[INFO] [stdout]  32 | |         str_to_address(config["uniswap_router_address"].as_str().unwrap()),
[INFO] [stdout]  33 | |         include_bytes!("abi/uniswap_router_abi.json"),
[INFO] [stdout]  34 | |     )?;
[INFO] [stdout]     | |     -^ the trait `From<web3::ethabi::Error>` is not implemented for `HFTError`
[INFO] [stdout]     | |_____|
[INFO] [stdout]     |       this can't be annotated with `?` because it has type `Result<_, web3::ethabi::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `HFTError` needs to implement `From<web3::ethabi::Error>`
[INFO] [stdout]    --> src/modules/hft.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub enum HFTError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: `HFTError` implements trait `From<T>`
[INFO] [stdout]    --> src/modules/hft.rs:171:10
[INFO] [stdout]     |
[INFO] [stdout] 171 | #[derive(Error, Debug)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `From<JoinError>`
[INFO] [stdout]     |          `From<web3::Error>`
[INFO] [stdout]     |          `From<web3::contract::Error>`
[INFO] [stdout]     = note: this error originates in the derive macro `Error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this method are incorrect
[INFO] [stdout]    --> src/modules/sandwich.rs:186:10
[INFO] [stdout]     |
[INFO] [stdout] 186 |         .call("repay", ("TOKEN_ADDRESS".parse().unwrap(), repay_amount, "SENDER_ADDRESS".parse().unwrap()), Options::default(), None)
[INFO] [stdout]     |          ^^^^                                                                                               ------------------  ---- unexpected argument #4 of type `Option<_>`
[INFO] [stdout]     |                                                                                                             |
[INFO] [stdout]     |                                                                                                             argument #3 of type `H160` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/web3-0.19.0/src/contract/mod.rs:128:18
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub async fn call<P>(&self, func: &str, params: P, from: Address, options: Options) -> Result<H256>
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] help: did you mean
[INFO] [stdout]     |
[INFO] [stdout] 186 -         .call("repay", ("TOKEN_ADDRESS".parse().unwrap(), repay_amount, "SENDER_ADDRESS".parse().unwrap()), Options::default(), None)
[INFO] [stdout] 186 +         .call("repay", ("TOKEN_ADDRESS".parse().unwrap(), repay_amount, "SENDER_ADDRESS".parse().unwrap()), /* H160 */, Options::default())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HFTError`
[INFO] [stdout]    --> src/modules/hft.rs:120:6
[INFO] [stdout]     |
[INFO] [stdout] 116 |       let uniswap_router_contract = Contract::from_json(
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 117 | |         web3.eth(),
[INFO] [stdout] 118 | |         "UNISWAP_ROUTER_ADDRESS".parse().unwrap(),
[INFO] [stdout] 119 | |         include_bytes!("abi/uniswap_router_abi.json"),
[INFO] [stdout] 120 | |     )?;
[INFO] [stdout]     | |     -^ the trait `From<web3::ethabi::Error>` is not implemented for `HFTError`
[INFO] [stdout]     | |_____|
[INFO] [stdout]     |       this can't be annotated with `?` because it has type `Result<_, web3::ethabi::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `HFTError` needs to implement `From<web3::ethabi::Error>`
[INFO] [stdout]    --> src/modules/hft.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub enum HFTError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: `HFTError` implements trait `From<T>`
[INFO] [stdout]    --> src/modules/hft.rs:171:10
[INFO] [stdout]     |
[INFO] [stdout] 171 | #[derive(Error, Debug)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `From<JoinError>`
[INFO] [stdout]     |          `From<web3::Error>`
[INFO] [stdout]     |          `From<web3::contract::Error>`
[INFO] [stdout]     = note: this error originates in the derive macro `Error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HFTError`
[INFO] [stdout]    --> src/modules/hft.rs:34:6
[INFO] [stdout]     |
[INFO] [stdout]  30 |       let uniswap_router_contract = Contract::from_json(
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout]  31 | |         web3.eth(),
[INFO] [stdout]  32 | |         str_to_address(config["uniswap_router_address"].as_str().unwrap()),
[INFO] [stdout]  33 | |         include_bytes!("abi/uniswap_router_abi.json"),
[INFO] [stdout]  34 | |     )?;
[INFO] [stdout]     | |     -^ the trait `From<web3::ethabi::Error>` is not implemented for `HFTError`
[INFO] [stdout]     | |_____|
[INFO] [stdout]     |       this can't be annotated with `?` because it has type `Result<_, web3::ethabi::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `HFTError` needs to implement `From<web3::ethabi::Error>`
[INFO] [stdout]    --> src/modules/hft.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub enum HFTError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: `HFTError` implements trait `From<T>`
[INFO] [stdout]    --> src/modules/hft.rs:171:10
[INFO] [stdout]     |
[INFO] [stdout] 171 | #[derive(Error, Debug)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `From<JoinError>`
[INFO] [stdout]     |          `From<web3::Error>`
[INFO] [stdout]     |          `From<web3::contract::Error>`
[INFO] [stdout]     = note: this error originates in the derive macro `Error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HFTError`
[INFO] [stdout]    --> src/modules/hft.rs:152:6
[INFO] [stdout]     |
[INFO] [stdout] 148 |       let aave_flashloan_contract = Contract::from_json(
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 149 | |         web3.eth(),
[INFO] [stdout] 150 | |         "AAVE_FLASHLOAN_CONTRACT_ADDRESS".parse().unwrap(),
[INFO] [stdout] 151 | |         include_bytes!("abi/aave_flashloan_abi.json"),
[INFO] [stdout] 152 | |     )?;
[INFO] [stdout]     | |     -^ the trait `From<web3::ethabi::Error>` is not implemented for `HFTError`
[INFO] [stdout]     | |_____|
[INFO] [stdout]     |       this can't be annotated with `?` because it has type `Result<_, web3::ethabi::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `HFTError` needs to implement `From<web3::ethabi::Error>`
[INFO] [stdout]    --> src/modules/hft.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub enum HFTError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: `HFTError` implements trait `From<T>`
[INFO] [stdout]    --> src/modules/hft.rs:171:10
[INFO] [stdout]     |
[INFO] [stdout] 171 | #[derive(Error, Debug)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `From<JoinError>`
[INFO] [stdout]     |          `From<web3::Error>`
[INFO] [stdout]     |          `From<web3::contract::Error>`
[INFO] [stdout]     = note: this error originates in the derive macro `Error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HFTError`
[INFO] [stdout]    --> src/modules/hft.rs:120:6
[INFO] [stdout]     |
[INFO] [stdout] 116 |       let uniswap_router_contract = Contract::from_json(
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 117 | |         web3.eth(),
[INFO] [stdout] 118 | |         "UNISWAP_ROUTER_ADDRESS".parse().unwrap(),
[INFO] [stdout] 119 | |         include_bytes!("abi/uniswap_router_abi.json"),
[INFO] [stdout] 120 | |     )?;
[INFO] [stdout]     | |     -^ the trait `From<web3::ethabi::Error>` is not implemented for `HFTError`
[INFO] [stdout]     | |_____|
[INFO] [stdout]     |       this can't be annotated with `?` because it has type `Result<_, web3::ethabi::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `HFTError` needs to implement `From<web3::ethabi::Error>`
[INFO] [stdout]    --> src/modules/hft.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub enum HFTError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: `HFTError` implements trait `From<T>`
[INFO] [stdout]    --> src/modules/hft.rs:171:10
[INFO] [stdout]     |
[INFO] [stdout] 171 | #[derive(Error, Debug)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `From<JoinError>`
[INFO] [stdout]     |          `From<web3::Error>`
[INFO] [stdout]     |          `From<web3::contract::Error>`
[INFO] [stdout]     = note: this error originates in the derive macro `Error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HFTError`
[INFO] [stdout]    --> src/modules/hft.rs:152:6
[INFO] [stdout]     |
[INFO] [stdout] 148 |       let aave_flashloan_contract = Contract::from_json(
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 149 | |         web3.eth(),
[INFO] [stdout] 150 | |         "AAVE_FLASHLOAN_CONTRACT_ADDRESS".parse().unwrap(),
[INFO] [stdout] 151 | |         include_bytes!("abi/aave_flashloan_abi.json"),
[INFO] [stdout] 152 | |     )?;
[INFO] [stdout]     | |     -^ the trait `From<web3::ethabi::Error>` is not implemented for `HFTError`
[INFO] [stdout]     | |_____|
[INFO] [stdout]     |       this can't be annotated with `?` because it has type `Result<_, web3::ethabi::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `HFTError` needs to implement `From<web3::ethabi::Error>`
[INFO] [stdout]    --> src/modules/hft.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub enum HFTError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: `HFTError` implements trait `From<T>`
[INFO] [stdout]    --> src/modules/hft.rs:171:10
[INFO] [stdout]     |
[INFO] [stdout] 171 | #[derive(Error, Debug)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `From<JoinError>`
[INFO] [stdout]     |          `From<web3::Error>`
[INFO] [stdout]     |          `From<web3::contract::Error>`
[INFO] [stdout]     = note: this error originates in the derive macro `Error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_f64` found for struct `U256` in the current scope
[INFO] [stdout]    --> src/modules/frontrunning.rs:77:75
[INFO] [stdout]     |
[INFO] [stdout]  77 |     let potential_profit = transaction_value - (transaction_value * U256::from_f64(slippage_factor).unwrap());
[INFO] [stdout]     |                                                                           ^^^^^^^^ function or associated item not found in `U256`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `U256` consider using one of the following associated functions:
[INFO] [stdout]       U256::from_str_radix
[INFO] [stdout]       U256::from_dec_str
[INFO] [stdout]       U256::exp10
[INFO] [stdout]       U256::zero
[INFO] [stdout]       and 4 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/uint-0.9.5/src/uint.rs:580:4
[INFO] [stdout]     |
[INFO] [stdout] 580 |               pub fn from_str_radix(txt: &str, radix: u32) -> Result<Self, $crate::FromStrRadixErr> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 591 |               pub fn from_dec_str(value: &str) -> $crate::core_::result::Result<Self, $crate::FromDecStrErr> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 773 |               pub fn exp10(n: usize) -> Self {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 782 |               pub const fn zero() -> Self {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/primitive-types-0.12.2/src/lib.rs:38:1
[INFO] [stdout]     |
[INFO] [stdout]  38 | / construct_uint! {
[INFO] [stdout]  39 | |     /// 256-bit unsigned integer.
[INFO] [stdout]  40 | |     #[cfg_attr(feature = "scale-info", derive(TypeInfo))]
[INFO] [stdout]  41 | |     pub struct U256(4);
[INFO] [stdout]  42 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this error originates in the macro `$crate::construct_uint` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout]  77 -     let potential_profit = transaction_value - (transaction_value * U256::from_f64(slippage_factor).unwrap());
[INFO] [stdout]  77 +     let potential_profit = transaction_value - (transaction_value * U256::from(slippage_factor).unwrap());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/modules/liquidation.rs:60:26
[INFO] [stdout]    |
[INFO] [stdout] 60 |         Ok(Liquidation { aave_pool, compound_comptroller, ctoken_collateral })
[INFO] [stdout]    |                          ^^^^^^^^^ expected `Contract<&Http>`, found `Contract<Http>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `web3::contract::Contract<&Http>`
[INFO] [stdout]               found struct `web3::contract::Contract<Http>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/modules/liquidation.rs:60:37
[INFO] [stdout]    |
[INFO] [stdout] 60 |         Ok(Liquidation { aave_pool, compound_comptroller, ctoken_collateral })
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^ expected `Contract<&Http>`, found `Contract<Http>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `web3::contract::Contract<&Http>`
[INFO] [stdout]               found struct `web3::contract::Contract<Http>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/modules/liquidation.rs:60:59
[INFO] [stdout]    |
[INFO] [stdout] 60 |         Ok(Liquidation { aave_pool, compound_comptroller, ctoken_collateral })
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^ expected `Contract<&Http>`, found `Contract<Http>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `web3::contract::Contract<&Http>`
[INFO] [stdout]               found struct `web3::contract::Contract<Http>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_f64` found for struct `U256` in the current scope
[INFO] [stdout]    --> src/modules/frontrunning.rs:77:75
[INFO] [stdout]     |
[INFO] [stdout]  77 |     let potential_profit = transaction_value - (transaction_value * U256::from_f64(slippage_factor).unwrap());
[INFO] [stdout]     |                                                                           ^^^^^^^^ function or associated item not found in `U256`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `U256` consider using one of the following associated functions:
[INFO] [stdout]       U256::from_str_radix
[INFO] [stdout]       U256::from_dec_str
[INFO] [stdout]       U256::exp10
[INFO] [stdout]       U256::zero
[INFO] [stdout]       and 4 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/uint-0.9.5/src/uint.rs:580:4
[INFO] [stdout]     |
[INFO] [stdout] 580 |               pub fn from_str_radix(txt: &str, radix: u32) -> Result<Self, $crate::FromStrRadixErr> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 591 |               pub fn from_dec_str(value: &str) -> $crate::core_::result::Result<Self, $crate::FromDecStrErr> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 773 |               pub fn exp10(n: usize) -> Self {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 782 |               pub const fn zero() -> Self {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/primitive-types-0.12.2/src/lib.rs:38:1
[INFO] [stdout]     |
[INFO] [stdout]  38 | / construct_uint! {
[INFO] [stdout]  39 | |     /// 256-bit unsigned integer.
[INFO] [stdout]  40 | |     #[cfg_attr(feature = "scale-info", derive(TypeInfo))]
[INFO] [stdout]  41 | |     pub struct U256(4);
[INFO] [stdout]  42 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this error originates in the macro `$crate::construct_uint` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout]  77 -     let potential_profit = transaction_value - (transaction_value * U256::from_f64(slippage_factor).unwrap());
[INFO] [stdout]  77 +     let potential_profit = transaction_value - (transaction_value * U256::from(slippage_factor).unwrap());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for struct `H160` in the current scope
[INFO] [stdout]    --> src/modules/hft.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout] 190 |     Address::from_str(address).unwrap()
[INFO] [stdout]     |              ^^^^^^^^ function or associated item not found in `H160`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `H160` consider using one of the following associated functions:
[INFO] [stdout]       H160::repeat_byte
[INFO] [stdout]       H160::zero
[INFO] [stdout]       H160::from_slice
[INFO] [stdout]       H160::from_low_u64_be
[INFO] [stdout]       and 4 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/fixed-hash-0.8.0/src/hash.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 |               pub const fn repeat_byte(byte: u8) -> $name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |               pub const fn zero() -> $name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |               pub fn from_slice(src: &[u8]) -> Self {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |               pub fn from_low_u64_be(val: u64) -> Self {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/primitive-types-0.12.2/src/lib.rs:55:1
[INFO] [stdout]     |
[INFO] [stdout]  55 | / construct_fixed_hash! {
[INFO] [stdout]  56 | |     /// Fixed-size uninterpreted hash type with 20 bytes (160 bits) size.
[INFO] [stdout]  57 | |     #[cfg_attr(feature = "scale-info", derive(TypeInfo))]
[INFO] [stdout]  58 | |     pub struct H160(20);
[INFO] [stdout]  59 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: this error originates in the macro `construct_fixed_hash` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: trait `FromStr` which provides `from_str` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use std::str::FromStr;
[INFO] [stdout]     |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 190 -     Address::from_str(address).unwrap()
[INFO] [stdout] 190 +     Address::from(address).unwrap()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/modules/liquidation.rs:60:26
[INFO] [stdout]    |
[INFO] [stdout] 60 |         Ok(Liquidation { aave_pool, compound_comptroller, ctoken_collateral })
[INFO] [stdout]    |                          ^^^^^^^^^ expected `Contract<&Http>`, found `Contract<Http>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `web3::contract::Contract<&Http>`
[INFO] [stdout]               found struct `web3::contract::Contract<Http>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/modules/liquidation.rs:60:37
[INFO] [stdout]    |
[INFO] [stdout] 60 |         Ok(Liquidation { aave_pool, compound_comptroller, ctoken_collateral })
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^ expected `Contract<&Http>`, found `Contract<Http>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `web3::contract::Contract<&Http>`
[INFO] [stdout]               found struct `web3::contract::Contract<Http>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:72:51
[INFO] [stdout]    |
[INFO] [stdout] 72 |             modules::flashloan::execute_flashloan(web3.clone(), U256::zero(), asset_address).await.unwrap();
[INFO] [stdout]    |             ------------------------------------- ^^^^^^^^^^^^ expected `&Web3<Http>`, found `Arc<Web3<Http>>`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&Web3<_>`
[INFO] [stdout]                  found struct `Arc<Web3<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/modules/flashloan.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub async fn execute_flashloan(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 64 |     web3: &web3::Web3<Http>,
[INFO] [stdout]    |     -----------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 72 |             modules::flashloan::execute_flashloan(&web3.clone(), U256::zero(), asset_address).await.unwrap();
[INFO] [stdout]    |                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/modules/liquidation.rs:60:59
[INFO] [stdout]    |
[INFO] [stdout] 60 |         Ok(Liquidation { aave_pool, compound_comptroller, ctoken_collateral })
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^ expected `Contract<&Http>`, found `Contract<Http>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `web3::contract::Contract<&Http>`
[INFO] [stdout]               found struct `web3::contract::Contract<Http>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:77:82
[INFO] [stdout]    |
[INFO] [stdout] 77 |             let transactions = modules::frontrunning::fetch_mempool_transactions(web3.clone()).await;
[INFO] [stdout]    |                                ------------------------------------------------- ^^^^^^^^^^^^ expected `&Web3<Http>`, found `Arc<Web3<Http>>`
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&Web3<_>`
[INFO] [stdout]                  found struct `Arc<Web3<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/modules/frontrunning.rs:56:14
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub async fn fetch_mempool_transactions(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 57 |     web3: &web3::Web3<Http>
[INFO] [stdout]    |     -----------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 77 |             let transactions = modules::frontrunning::fetch_mempool_transactions(&web3.clone()).await;
[INFO] [stdout]    |                                                                                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:90:67
[INFO] [stdout]     |
[INFO] [stdout]  90 |             modules::sandwich::execute_sandwich_attack_with_retry(web3.clone(), U256::zero(), 3).await.unwrap();
[INFO] [stdout]     |             ----------------------------------------------------- ^^^^^^^^^^^^ expected `Web3<Http>`, found `Arc<Web3<Http>>`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Web3<_>`
[INFO] [stdout]                found struct `Arc<Web3<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/modules/sandwich.rs:148:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub async fn execute_sandwich_attack_with_retry(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 149 |     web3: web3::Web3<web3::transports::Http>,
[INFO] [stdout]     |     ----------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:119:63
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         modules::flashloan::execute_flashloan(web3.clone(), U256::zero(), asset_address).await.unwrap();
[INFO] [stdout]     |                         ------------------------------------- ^^^^^^^^^^^^ expected `&Web3<Http>`, found `Arc<Web3<Http>>`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Web3<_>`
[INFO] [stdout]                   found struct `Arc<Web3<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/modules/flashloan.rs:63:14
[INFO] [stdout]     |
[INFO] [stdout]  63 | pub async fn execute_flashloan(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  64 |     web3: &web3::Web3<Http>,
[INFO] [stdout]     |     -----------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         modules::flashloan::execute_flashloan(&web3.clone(), U256::zero(), asset_address).await.unwrap();
[INFO] [stdout]     |                                                               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:124:94
[INFO] [stdout]     |
[INFO] [stdout] 124 |                         let transactions = modules::frontrunning::fetch_mempool_transactions(web3.clone()).await;
[INFO] [stdout]     |                                            ------------------------------------------------- ^^^^^^^^^^^^ expected `&Web3<Http>`, found `Arc<Web3<Http>>`
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Web3<_>`
[INFO] [stdout]                   found struct `Arc<Web3<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/modules/frontrunning.rs:56:14
[INFO] [stdout]     |
[INFO] [stdout]  56 | pub async fn fetch_mempool_transactions(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  57 |     web3: &web3::Web3<Http>
[INFO] [stdout]     |     -----------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 124 |                         let transactions = modules::frontrunning::fetch_mempool_transactions(&web3.clone()).await;
[INFO] [stdout]     |                                                                                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:137:79
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         modules::sandwich::execute_sandwich_attack_with_retry(web3.clone(), U256::zero(), 3).await.unwrap();
[INFO] [stdout]     |                         ----------------------------------------------------- ^^^^^^^^^^^^ expected `Web3<Http>`, found `Arc<Web3<Http>>`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Web3<_>`
[INFO] [stdout]                found struct `Arc<Web3<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/modules/sandwich.rs:148:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub async fn execute_sandwich_attack_with_retry(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 149 |     web3: web3::Web3<web3::transports::Http>,
[INFO] [stdout]     |     ----------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for struct `H160` in the current scope
[INFO] [stdout]    --> src/modules/hft.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout] 190 |     Address::from_str(address).unwrap()
[INFO] [stdout]     |              ^^^^^^^^ function or associated item not found in `H160`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `H160` consider using one of the following associated functions:
[INFO] [stdout]       H160::repeat_byte
[INFO] [stdout]       H160::zero
[INFO] [stdout]       H160::from_slice
[INFO] [stdout]       H160::from_low_u64_be
[INFO] [stdout]       and 4 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/fixed-hash-0.8.0/src/hash.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 |               pub const fn repeat_byte(byte: u8) -> $name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |               pub const fn zero() -> $name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |               pub fn from_slice(src: &[u8]) -> Self {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |               pub fn from_low_u64_be(val: u64) -> Self {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/primitive-types-0.12.2/src/lib.rs:55:1
[INFO] [stdout]     |
[INFO] [stdout]  55 | / construct_fixed_hash! {
[INFO] [stdout]  56 | |     /// Fixed-size uninterpreted hash type with 20 bytes (160 bits) size.
[INFO] [stdout]  57 | |     #[cfg_attr(feature = "scale-info", derive(TypeInfo))]
[INFO] [stdout]  58 | |     pub struct H160(20);
[INFO] [stdout]  59 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: this error originates in the macro `construct_fixed_hash` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: trait `FromStr` which provides `from_str` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use std::str::FromStr;
[INFO] [stdout]     |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 190 -     Address::from_str(address).unwrap()
[INFO] [stdout] 190 +     Address::from(address).unwrap()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:72:51
[INFO] [stdout]    |
[INFO] [stdout] 72 |             modules::flashloan::execute_flashloan(web3.clone(), U256::zero(), asset_address).await.unwrap();
[INFO] [stdout]    |             ------------------------------------- ^^^^^^^^^^^^ expected `&Web3<Http>`, found `Arc<Web3<Http>>`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&Web3<_>`
[INFO] [stdout]                  found struct `Arc<Web3<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/modules/flashloan.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub async fn execute_flashloan(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 64 |     web3: &web3::Web3<Http>,
[INFO] [stdout]    |     -----------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 72 |             modules::flashloan::execute_flashloan(&web3.clone(), U256::zero(), asset_address).await.unwrap();
[INFO] [stdout]    |                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `collateral_asset`
[INFO] [stdout]   --> src/modules/liquidation.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         collateral_asset: H160,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collateral_asset`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:77:82
[INFO] [stdout]    |
[INFO] [stdout] 77 |             let transactions = modules::frontrunning::fetch_mempool_transactions(web3.clone()).await;
[INFO] [stdout]    |                                ------------------------------------------------- ^^^^^^^^^^^^ expected `&Web3<Http>`, found `Arc<Web3<Http>>`
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&Web3<_>`
[INFO] [stdout]                  found struct `Arc<Web3<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/modules/frontrunning.rs:56:14
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub async fn fetch_mempool_transactions(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 57 |     web3: &web3::Web3<Http>
[INFO] [stdout]    |     -----------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 77 |             let transactions = modules::frontrunning::fetch_mempool_transactions(&web3.clone()).await;
[INFO] [stdout]    |                                                                                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:90:67
[INFO] [stdout]     |
[INFO] [stdout]  90 |             modules::sandwich::execute_sandwich_attack_with_retry(web3.clone(), U256::zero(), 3).await.unwrap();
[INFO] [stdout]     |             ----------------------------------------------------- ^^^^^^^^^^^^ expected `Web3<Http>`, found `Arc<Web3<Http>>`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Web3<_>`
[INFO] [stdout]                found struct `Arc<Web3<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/modules/sandwich.rs:148:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub async fn execute_sandwich_attack_with_retry(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 149 |     web3: web3::Web3<web3::transports::Http>,
[INFO] [stdout]     |     ----------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `web3`
[INFO] [stdout]   --> src/modules/hft.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     web3: Arc<web3::Web3<web3::transports::Http>>,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_web3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:119:63
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         modules::flashloan::execute_flashloan(web3.clone(), U256::zero(), asset_address).await.unwrap();
[INFO] [stdout]     |                         ------------------------------------- ^^^^^^^^^^^^ expected `&Web3<Http>`, found `Arc<Web3<Http>>`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Web3<_>`
[INFO] [stdout]                   found struct `Arc<Web3<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/modules/flashloan.rs:63:14
[INFO] [stdout]     |
[INFO] [stdout]  63 | pub async fn execute_flashloan(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  64 |     web3: &web3::Web3<Http>,
[INFO] [stdout]     |     -----------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         modules::flashloan::execute_flashloan(&web3.clone(), U256::zero(), asset_address).await.unwrap();
[INFO] [stdout]     |                                                               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:124:94
[INFO] [stdout]     |
[INFO] [stdout] 124 |                         let transactions = modules::frontrunning::fetch_mempool_transactions(web3.clone()).await;
[INFO] [stdout]     |                                            ------------------------------------------------- ^^^^^^^^^^^^ expected `&Web3<Http>`, found `Arc<Web3<Http>>`
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Web3<_>`
[INFO] [stdout]                   found struct `Arc<Web3<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/modules/frontrunning.rs:56:14
[INFO] [stdout]     |
[INFO] [stdout]  56 | pub async fn fetch_mempool_transactions(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  57 |     web3: &web3::Web3<Http>
[INFO] [stdout]     |     -----------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 124 |                         let transactions = modules::frontrunning::fetch_mempool_transactions(&web3.clone()).await;
[INFO] [stdout]     |                                                                                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:137:79
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         modules::sandwich::execute_sandwich_attack_with_retry(web3.clone(), U256::zero(), 3).await.unwrap();
[INFO] [stdout]     |                         ----------------------------------------------------- ^^^^^^^^^^^^ expected `Web3<Http>`, found `Arc<Web3<Http>>`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Web3<_>`
[INFO] [stdout]                found struct `Arc<Web3<_>>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/modules/sandwich.rs:148:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub async fn execute_sandwich_attack_with_retry(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 149 |     web3: web3::Web3<web3::transports::Http>,
[INFO] [stdout]     |     ----------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0283, E0284, E0308, E0382, E0425, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `collateral_asset`
[INFO] [stdout]   --> src/modules/liquidation.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         collateral_asset: H160,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collateral_asset`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `taz` (bin "taz" test) due to 40 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `web3`
[INFO] [stdout]   --> src/modules/hft.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     web3: Arc<web3::Web3<web3::transports::Http>>,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_web3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0283, E0284, E0308, E0382, E0425, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `taz` (bin "taz") due to 40 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "3584aed852ee18b3e4f5ceddebaeb8b48c6b10be896d3820797386db571de3b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3584aed852ee18b3e4f5ceddebaeb8b48c6b10be896d3820797386db571de3b7", kill_on_drop: false }`
[INFO] [stdout] 3584aed852ee18b3e4f5ceddebaeb8b48c6b10be896d3820797386db571de3b7
