[INFO] fetching crate evm-sdk 0.5.0... [INFO] testing evm-sdk-0.5.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7 [INFO] extracting crate evm-sdk 0.5.0 into /workspace/builds/worker-2-tc2/source [INFO] started tweaking crates.io crate evm-sdk 0.5.0 [INFO] finished tweaking crates.io crate evm-sdk 0.5.0 [INFO] tweaked toml for crates.io crate evm-sdk 0.5.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate evm-sdk 0.5.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate evm-sdk 0.5.0 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7aa1e227454c7d5d0d198eedbe7f45a3413e907c26c4043405f19eb94d034a03 [INFO] running `Command { std: "docker" "start" "-a" "7aa1e227454c7d5d0d198eedbe7f45a3413e907c26c4043405f19eb94d034a03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7aa1e227454c7d5d0d198eedbe7f45a3413e907c26c4043405f19eb94d034a03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7aa1e227454c7d5d0d198eedbe7f45a3413e907c26c4043405f19eb94d034a03", kill_on_drop: false }` [INFO] [stdout] 7aa1e227454c7d5d0d198eedbe7f45a3413e907c26c4043405f19eb94d034a03 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8da2df660a15c8b4ab300234f47913b13d1c46d44dea472b3e4b844dff6b5a13 [INFO] running `Command { std: "docker" "start" "-a" "8da2df660a15c8b4ab300234f47913b13d1c46d44dea472b3e4b844dff6b5a13", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling indexmap v2.11.4 [INFO] [stderr] Compiling cc v1.2.41 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling socket2 v0.6.0 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.104 [INFO] [stderr] Compiling openssl v0.10.74 [INFO] [stderr] Compiling const-hex v1.17.0 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling wasm-bindgen v0.2.104 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling ff v0.13.1 [INFO] [stderr] Compiling crypto-bigint v0.5.5 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling group v0.13.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling toml_edit v0.23.7 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling const_format_proc_macros v0.2.34 [INFO] [stderr] Compiling fixed-hash v0.8.0 [INFO] [stderr] Compiling bs58 v0.5.1 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [INFO] [stderr] Compiling scrypt v0.10.0 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling instant v0.1.13 [INFO] [stderr] Compiling openssl-sys v0.9.110 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling elliptic-curve v0.13.8 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Compiling const_format v0.2.35 [INFO] [stderr] Compiling ecdsa v0.16.9 [INFO] [stderr] Compiling csv-core v0.1.13 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling csv v1.4.0 [INFO] [stderr] Compiling k256 v0.13.4 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling Inflector v0.11.4 [INFO] [stderr] Compiling rlp-derive v0.1.0 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.104 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling impl-trait-for-tuples v0.2.3 [INFO] [stderr] Compiling parity-scale-codec-derive v3.7.5 [INFO] [stderr] Compiling derive_more-impl v1.0.0 [INFO] [stderr] Compiling scale-info-derive v2.11.6 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling auto_impl v1.3.0 [INFO] [stderr] Compiling num_enum_derive v0.7.5 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling derive_more v1.0.0 [INFO] [stderr] Compiling rustls-webpki v0.101.7 [INFO] [stderr] Compiling sct v0.7.1 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.104 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling zerovec v0.11.4 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling num_enum v0.7.5 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.104 [INFO] [stderr] Compiling simple_asn1 v0.6.3 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.3 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling tracing-futures v0.2.5 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling parity-scale-codec v3.7.5 [INFO] [stderr] Compiling impl-serde v0.4.0 [INFO] [stderr] Compiling cargo-platform v0.1.9 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling coins-core v0.8.7 [INFO] [stderr] Compiling jsonwebtoken v8.3.0 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling cargo_metadata v0.18.1 [INFO] [stderr] Compiling js-sys v0.3.81 [INFO] [stderr] Compiling uuid v0.8.2 [INFO] [stderr] Compiling coins-bip32 v0.8.7 [INFO] [stderr] Compiling rlp v0.5.2 [INFO] [stderr] Compiling scale-info v2.11.6 [INFO] [stderr] Compiling impl-codec v0.6.0 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling impl-rlp v0.3.0 [INFO] [stderr] Compiling open-fastrlp-derive v0.1.1 [INFO] [stderr] Compiling enr v0.10.0 [INFO] [stderr] Compiling coins-bip39 v0.8.7 [INFO] [stderr] Compiling eth-keystore v0.5.0 [INFO] [stderr] Compiling ethbloom v0.13.0 [INFO] [stderr] Compiling primitive-types v0.12.2 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling tungstenite v0.20.1 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling ethereum-types v0.14.1 [INFO] [stderr] Compiling open-fastrlp v0.1.4 [INFO] [stderr] Compiling ethabi v18.0.0 [INFO] [stderr] Compiling gloo-timers v0.2.6 [INFO] [stderr] Compiling futures-timer v3.0.3 [INFO] [stderr] Compiling ethers-core v2.0.14 [INFO] [stderr] Compiling tokio-util v0.7.16 [INFO] [stderr] Compiling tokio-rustls v0.24.1 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tokio-tungstenite v0.20.1 [INFO] [stderr] Compiling h2 v0.3.27 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling ethers-contract-abigen v2.0.14 [INFO] [stderr] Compiling ethers-signers v2.0.14 [INFO] [stderr] Compiling ethers-addressbook v2.0.14 [INFO] [stderr] Compiling hyper-rustls v0.24.2 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling ethers-contract-derive v2.0.14 [INFO] [stderr] Compiling ethers-providers v2.0.14 [INFO] [stderr] Compiling ethers-etherscan v2.0.14 [INFO] [stderr] Compiling ethers-contract v2.0.14 [INFO] [stderr] Compiling ethers-middleware v2.0.14 [INFO] [stderr] Compiling ethers v2.0.14 [INFO] [stderr] Compiling evm-client v0.1.5 [INFO] [stderr] Compiling evm-sdk v0.5.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/contract.rs:157:20 [INFO] [stdout] | [INFO] [stdout] 157 | if let transactions = block.transactions { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contract.rs:397:13 [INFO] [stdout] | [INFO] [stdout] 397 | let mut incoming_txs = 0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contract.rs:398:13 [INFO] [stdout] | [INFO] [stdout] 398 | let mut outgoing_txs = 0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `total_txs` is never read [INFO] [stdout] --> src/contract.rs:396:29 [INFO] [stdout] | [INFO] [stdout] 396 | let mut total_txs = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/mempool.rs:534:14 [INFO] [stdout] | [INFO] [stdout] 534 | for (sender, txs) in by_sender { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract` [INFO] [stdout] --> src/mempool.rs:565:14 [INFO] [stdout] | [INFO] [stdout] 565 | for (contract, txs) in by_contract { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_code` [INFO] [stdout] --> src/safe.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | source_code: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 183 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_code` [INFO] [stdout] --> src/safe.rs:223:9 [INFO] [stdout] | [INFO] [stdout] 223 | source_code: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_code` [INFO] [stdout] --> src/safe.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | source_code: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:250:9 [INFO] [stdout] | [INFO] [stdout] 250 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_code` [INFO] [stdout] --> src/safe.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | source_code: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:264:9 [INFO] [stdout] | [INFO] [stdout] 264 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_code` [INFO] [stdout] --> src/safe.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 265 | source_code: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/trade.rs:683:28 [INFO] [stdout] | [INFO] [stdout] 683 | if let Err(e) = Self::poll_events(&evm, &last_block, address, &tx).await { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `client` and `known_vulnerabilities` are never read [INFO] [stdout] --> src/safe.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct SecurityChecker { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 54 | client: Arc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 55 | known_vulnerabilities: HashSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/tool.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | async fn get_price(&self, token_address: Address) -> Result; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] = note: `#[warn(async_fn_in_trait)]` on by default [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 78 - async fn get_price(&self, token_address: Address) -> Result; [INFO] [stdout] 78 + fn get_price(&self, token_address: Address) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/tool.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | async fn get_prices( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 79 ~ fn get_prices( [INFO] [stdout] 80 | &self, [INFO] [stdout] 81 | token_addresses: Vec
, [INFO] [stdout] 82 ~ ) -> impl std::future::Future, EvmError>> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 29s [INFO] running `Command { std: "docker" "inspect" "8da2df660a15c8b4ab300234f47913b13d1c46d44dea472b3e4b844dff6b5a13", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8da2df660a15c8b4ab300234f47913b13d1c46d44dea472b3e4b844dff6b5a13", kill_on_drop: false }` [INFO] [stdout] 8da2df660a15c8b4ab300234f47913b13d1c46d44dea472b3e4b844dff6b5a13 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bd5bc25fe0ea40ca22ffac8743c9f3f517e2f409b34e99f59c55e54ed19ab44d [INFO] running `Command { std: "docker" "start" "-a" "bd5bc25fe0ea40ca22ffac8743c9f3f517e2f409b34e99f59c55e54ed19ab44d", kill_on_drop: false }` [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/contract.rs:157:20 [INFO] [stdout] | [INFO] [stdout] 157 | if let transactions = block.transactions { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contract.rs:397:13 [INFO] [stdout] | [INFO] [stdout] 397 | let mut incoming_txs = 0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contract.rs:398:13 [INFO] [stdout] | [INFO] [stdout] 398 | let mut outgoing_txs = 0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `total_txs` is never read [INFO] [stdout] --> src/contract.rs:396:29 [INFO] [stdout] | [INFO] [stdout] 396 | let mut total_txs = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/mempool.rs:534:14 [INFO] [stdout] | [INFO] [stdout] 534 | for (sender, txs) in by_sender { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract` [INFO] [stdout] --> src/mempool.rs:565:14 [INFO] [stdout] | [INFO] [stdout] 565 | for (contract, txs) in by_contract { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_code` [INFO] [stdout] --> src/safe.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | source_code: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 183 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_code` [INFO] [stdout] --> src/safe.rs:223:9 [INFO] [stdout] | [INFO] [stdout] 223 | source_code: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_code` [INFO] [stdout] --> src/safe.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | source_code: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:250:9 [INFO] [stdout] | [INFO] [stdout] 250 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_code` [INFO] [stdout] --> src/safe.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | source_code: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:264:9 [INFO] [stdout] | [INFO] [stdout] 264 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_code` [INFO] [stdout] --> src/safe.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 265 | source_code: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/trade.rs:683:28 [INFO] [stdout] | [INFO] [stdout] 683 | if let Err(e) = Self::poll_events(&evm, &last_block, address, &tx).await { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `client` and `known_vulnerabilities` are never read [INFO] [stdout] --> src/safe.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct SecurityChecker { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 54 | client: Arc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 55 | known_vulnerabilities: HashSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/tool.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | async fn get_price(&self, token_address: Address) -> Result; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] = note: `#[warn(async_fn_in_trait)]` on by default [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 78 - async fn get_price(&self, token_address: Address) -> Result; [INFO] [stdout] 78 + fn get_price(&self, token_address: Address) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/tool.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | async fn get_prices( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 79 ~ fn get_prices( [INFO] [stdout] 80 | &self, [INFO] [stdout] 81 | token_addresses: Vec
, [INFO] [stdout] 82 ~ ) -> impl std::future::Future, EvmError>> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling evm-sdk v0.5.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/contract.rs:157:20 [INFO] [stdout] | [INFO] [stdout] 157 | if let transactions = block.transactions { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contract.rs:397:13 [INFO] [stdout] | [INFO] [stdout] 397 | let mut incoming_txs = 0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/contract.rs:398:13 [INFO] [stdout] | [INFO] [stdout] 398 | let mut outgoing_txs = 0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `total_txs` is never read [INFO] [stdout] --> src/contract.rs:396:29 [INFO] [stdout] | [INFO] [stdout] 396 | let mut total_txs = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/mempool.rs:534:14 [INFO] [stdout] | [INFO] [stdout] 534 | for (sender, txs) in by_sender { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract` [INFO] [stdout] --> src/mempool.rs:565:14 [INFO] [stdout] | [INFO] [stdout] 565 | for (contract, txs) in by_contract { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_code` [INFO] [stdout] --> src/safe.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | source_code: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 183 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_code` [INFO] [stdout] --> src/safe.rs:223:9 [INFO] [stdout] | [INFO] [stdout] 223 | source_code: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_code` [INFO] [stdout] --> src/safe.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | source_code: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:250:9 [INFO] [stdout] | [INFO] [stdout] 250 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_code` [INFO] [stdout] --> src/safe.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | source_code: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contract_address` [INFO] [stdout] --> src/safe.rs:264:9 [INFO] [stdout] | [INFO] [stdout] 264 | contract_address: Address, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_code` [INFO] [stdout] --> src/safe.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 265 | source_code: Option<&str>, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/trade.rs:683:28 [INFO] [stdout] | [INFO] [stdout] 683 | if let Err(e) = Self::poll_events(&evm, &last_block, address, &tx).await { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `client` and `known_vulnerabilities` are never read [INFO] [stdout] --> src/safe.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct SecurityChecker { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 54 | client: Arc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 55 | known_vulnerabilities: HashSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/tool.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | async fn get_price(&self, token_address: Address) -> Result; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] = note: `#[warn(async_fn_in_trait)]` on by default [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 78 - async fn get_price(&self, token_address: Address) -> Result; [INFO] [stdout] 78 + fn get_price(&self, token_address: Address) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/tool.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | async fn get_prices( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 79 ~ fn get_prices( [INFO] [stdout] 80 | &self, [INFO] [stdout] 81 | token_addresses: Vec
, [INFO] [stdout] 82 ~ ) -> impl std::future::Future, EvmError>> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 5.02s [INFO] running `Command { std: "docker" "inspect" "bd5bc25fe0ea40ca22ffac8743c9f3f517e2f409b34e99f59c55e54ed19ab44d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bd5bc25fe0ea40ca22ffac8743c9f3f517e2f409b34e99f59c55e54ed19ab44d", kill_on_drop: false }` [INFO] [stdout] bd5bc25fe0ea40ca22ffac8743c9f3f517e2f409b34e99f59c55e54ed19ab44d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] e00d1574d788b7990d0b831a13630bd11ab026e02878535250a0130df41f0b02 [INFO] running `Command { std: "docker" "start" "-a" "e00d1574d788b7990d0b831a13630bd11ab026e02878535250a0130df41f0b02", kill_on_drop: false }` [INFO] [stderr] warning: irrefutable `if let` pattern [INFO] [stderr] --> src/contract.rs:157:20 [INFO] [stderr] | [INFO] [stderr] 157 | if let transactions = block.transactions { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this pattern will always match, so the `if let` is useless [INFO] [stderr] = help: consider replacing the `if let` with a `let` [INFO] [stderr] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/contract.rs:397:13 [INFO] [stderr] | [INFO] [stderr] 397 | let mut incoming_txs = 0; [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/contract.rs:398:13 [INFO] [stderr] | [INFO] [stderr] 398 | let mut outgoing_txs = 0; [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `total_txs` is never read [INFO] [stderr] --> src/contract.rs:396:29 [INFO] [stderr] | [INFO] [stderr] 396 | let mut total_txs = 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sender` [INFO] [stderr] --> src/mempool.rs:534:14 [INFO] [stderr] | [INFO] [stderr] 534 | for (sender, txs) in by_sender { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `contract` [INFO] [stderr] --> src/mempool.rs:565:14 [INFO] [stderr] | [INFO] [stderr] 565 | for (contract, txs) in by_contract { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `contract_address` [INFO] [stderr] --> src/safe.rs:130:9 [INFO] [stderr] | [INFO] [stderr] 130 | contract_address: Address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `contract_address` [INFO] [stderr] --> src/safe.rs:143:9 [INFO] [stderr] | [INFO] [stderr] 143 | contract_address: Address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `contract_address` [INFO] [stderr] --> src/safe.rs:169:9 [INFO] [stderr] | [INFO] [stderr] 169 | contract_address: Address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `source_code` [INFO] [stderr] --> src/safe.rs:170:9 [INFO] [stderr] | [INFO] [stderr] 170 | source_code: Option<&str>, [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `contract_address` [INFO] [stderr] --> src/safe.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | contract_address: Address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `contract_address` [INFO] [stderr] --> src/safe.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | contract_address: Address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `contract_address` [INFO] [stderr] --> src/safe.rs:209:9 [INFO] [stderr] | [INFO] [stderr] 209 | contract_address: Address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `contract_address` [INFO] [stderr] --> src/safe.rs:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | contract_address: Address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `source_code` [INFO] [stderr] --> src/safe.rs:223:9 [INFO] [stderr] | [INFO] [stderr] 223 | source_code: Option<&str>, [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `contract_address` [INFO] [stderr] --> src/safe.rs:236:9 [INFO] [stderr] | [INFO] [stderr] 236 | contract_address: Address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `source_code` [INFO] [stderr] --> src/safe.rs:237:9 [INFO] [stderr] | [INFO] [stderr] 237 | source_code: Option<&str>, [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `contract_address` [INFO] [stderr] --> src/safe.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | contract_address: Address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `source_code` [INFO] [stderr] --> src/safe.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | source_code: Option<&str>, [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `contract_address` [INFO] [stderr] --> src/safe.rs:264:9 [INFO] [stderr] | [INFO] [stderr] 264 | contract_address: Address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_address` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `source_code` [INFO] [stderr] --> src/safe.rs:265:9 [INFO] [stderr] | [INFO] [stderr] 265 | source_code: Option<&str>, [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_code` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/trade.rs:683:28 [INFO] [stderr] | [INFO] [stderr] 683 | if let Err(e) = Self::poll_events(&evm, &last_block, address, &tx).await { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: fields `client` and `known_vulnerabilities` are never read [INFO] [stderr] --> src/safe.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 53 | pub struct SecurityChecker { [INFO] [stderr] | --------------- fields in this struct [INFO] [stderr] 54 | client: Arc, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 55 | known_vulnerabilities: HashSet, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/tool.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | async fn get_price(&self, token_address: Address) -> Result; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] = note: `#[warn(async_fn_in_trait)]` on by default [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 78 - async fn get_price(&self, token_address: Address) -> Result; [INFO] [stderr] 78 + fn get_price(&self, token_address: Address) -> impl std::future::Future> + Send; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/tool.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | async fn get_prices( [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 79 ~ fn get_prices( [INFO] [stderr] 80 | &self, [INFO] [stderr] 81 | token_addresses: Vec
, [INFO] [stderr] 82 ~ ) -> impl std::future::Future, EvmError>> + Send; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `evm-sdk` (lib) generated 25 warnings (run `cargo fix --lib -p evm-sdk` to apply 20 suggestions) [INFO] [stderr] warning: `evm-sdk` (lib test) generated 25 warnings (25 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/evm_sdk-51572497822f6531) [INFO] [stdout] running 0 tests [INFO] [stderr] Doc-tests evm_sdk [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 46 tests [INFO] [stdout] test src/contract.rs - contract::ContractAnalyzer::analyze_storage_layout (line 218) ... FAILED [INFO] [stdout] test src/lib.rs - Evm::get_balance (line 116) ... FAILED [INFO] [stdout] test src/lib.rs - Evm::get_mempool_service (line 328) ... FAILED [INFO] [stdout] test src/lib.rs - Evm::get_gas_price (line 159) ... FAILED [INFO] [stdout] test src/contract.rs - contract::ContractAnalyzer::get_transaction_stats (line 384) ... FAILED [INFO] [stdout] test src/lib.rs - Evm::get_transaction_count (line 137) ... FAILED [INFO] [stdout] test src/contract.rs - contract::ContractAnalyzer::analyze_bytecode_features (line 281) ... FAILED [INFO] [stdout] test src/contract.rs - contract::ContractAnalyzer::get_contract_bytecode (line 121) ... FAILED [INFO] [stdout] test src/lib.rs - Evm::get_trade_listener (line 312) ... FAILED [INFO] [stdout] test src/contract.rs - contract::ContractAnalyzer::extract_function_selectors (line 252) ... FAILED [INFO] [stdout] test src/lib.rs - Evm::get_chain_id (line 78) ... FAILED [INFO] [stdout] test src/lib.rs - Evm::get_block_number (line 97) ... FAILED [INFO] [stdout] test src/lib.rs - Evm::get_trade_service (line 296) ... FAILED [INFO] [stdout] test src/mempool.rs - mempool::MempoolListener::get_pending_transactions (line 184) ... FAILED [INFO] [stdout] test src/lib.rs - Evm::get_logs (line 247) ... FAILED [INFO] [stdout] test src/contract.rs - contract::ContractAnalyzer::compare_contracts (line 326) ... FAILED [INFO] [stdout] test src/contract.rs - contract::ContractAnalyzer::get_contract_info (line 92) ... FAILED [INFO] [stdout] test src/lib.rs - Evm::get_mempool_listener (line 344) ... FAILED [INFO] [stdout] test src/lib.rs - Evm::get_wallet_balance (line 277) ... FAILED [INFO] [stdout] test src/contract.rs - contract::ContractAnalyzer::get_storage_at (line 192) ... FAILED [INFO] [stdout] test src/mempool.rs - mempool::MempoolListener::get_pending_transactions_list (line 331) ... FAILED [INFO] [stdout] test src/lib.rs - Evm::with_wallet (line 56) ... FAILED [INFO] [stdout] test src/mempool.rs - mempool::MempoolListener::contains_transaction (line 469) ... FAILED [INFO] [stdout] test src/lib.rs - Evm::send_transaction (line 177) ... FAILED [INFO] [stdout] test src/mempool.rs - mempool::MempoolService::get_suggested_gas_price (line 692) ... FAILED [INFO] [stdout] test src/mempool.rs - mempool::MempoolListener::get_high_gas_transactions (line 379) ... FAILED [INFO] [stdout] test src/mempool.rs - mempool::MempoolListener::get_large_value_transactions (line 396) ... FAILED [INFO] [stdout] test src/mempool.rs - mempool::MempoolListener::get_transaction_details (line 483) ... FAILED [INFO] [stdout] test src/mempool.rs - mempool::MempoolListener::get_stats (line 413) ... FAILED [INFO] [stdout] test src/mempool.rs - mempool::MempoolService::create_listener (line 653) ... FAILED [INFO] [stdout] test src/trade.rs - trade::TradeEventListener::watch_address_events (line 660) ... FAILED [INFO] [stdout] test src/trade.rs - trade::TradeEventListener::watch_large_transactions (line 444) ... FAILED [INFO] [stdout] test src/lib.rs - Evm::get_transaction_receipt (line 221) ... FAILED [INFO] [stdout] test src/mempool.rs - mempool::MempoolListener::get_transactions_by_sender (line 345) ... FAILED [INFO] [stdout] test src/lib.rs - Evm::new (line 35) ... FAILED [INFO] [stdout] test src/trade.rs - trade::TradeService::get_transaction_stats (line 253) ... FAILED [INFO] [stdout] test src/mempool.rs - mempool::MempoolListener::get_transactions_by_receiver (line 362) ... FAILED [INFO] [stdout] test src/trade.rs - trade::TradeEventListener::watch_large_transfers (line 533) ... FAILED [INFO] [stdout] test src/trade.rs - trade::TradeService::get_balance_history (line 338) ... FAILED [INFO] [stdout] test src/mempool.rs - mempool::MempoolService::create_listener_with_config (line 664) ... FAILED [INFO] [stdout] test src/mempool.rs - mempool::MempoolListener::start (line 106) ... FAILED [INFO] [stdout] test src/trade.rs - trade::TradeService::get_transactions_involving_addresses (line 124) ... FAILED [INFO] [stdout] test src/trade.rs - trade::TradeService::get_transactions_by_address (line 55) ... FAILED [INFO] [stdout] test src/mempool.rs - mempool::MempoolService::get_pending_transaction_count (line 679) ... FAILED [INFO] [stdout] test src/trade.rs - trade::TradeService::get_transaction_by_hash (line 303) ... FAILED [INFO] [stdout] test src/trade.rs - trade::TradeService::get_transactions_from_b_to_a (line 194) ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/contract.rs - contract::ContractAnalyzer::analyze_storage_layout (line 218) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `analyzer` in this scope [INFO] [stdout] --> src/contract.rs:219:14 [INFO] [stdout] | [INFO] [stdout] 219 | let layout = analyzer.analyze_storage_layout(address).await?; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `address` in this scope [INFO] [stdout] --> src/contract.rs:219:46 [INFO] [stdout] | [INFO] [stdout] 219 | let layout = analyzer.analyze_storage_layout(address).await?; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/contract.rs:219:55 [INFO] [stdout] | [INFO] [stdout] 218 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_contract_rs_218_0() { [INFO] [stdout] | ---------------------------------------- this is not `async` [INFO] [stdout] 219 | let layout = analyzer.analyze_storage_layout(address).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - Evm::get_balance (line 116) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Evm` in this scope [INFO] [stdout] --> src/lib.rs:119:23 [INFO] [stdout] | [INFO] [stdout] 119 | async fn example(evm: Evm) -> Result<(), Box> { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 116 + use evm_sdk::Evm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - Evm::get_mempool_service (line 328) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Evm` in this scope [INFO] [stdout] --> src/lib.rs:331:23 [INFO] [stdout] | [INFO] [stdout] 331 | async fn example(evm: Evm) -> Result<(), Box> { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 328 + use evm_sdk::Evm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - Evm::get_gas_price (line 159) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Evm` in this scope [INFO] [stdout] --> src/lib.rs:160:23 [INFO] [stdout] | [INFO] [stdout] 160 | async fn example(evm: Evm) -> Result<(), Box> { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 159 + use evm_sdk::Evm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/contract.rs - contract::ContractAnalyzer::get_transaction_stats (line 384) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `analyzer` in this scope [INFO] [stdout] --> src/contract.rs:385:13 [INFO] [stdout] | [INFO] [stdout] 385 | let stats = analyzer.get_transaction_stats(address).await?; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `address` in this scope [INFO] [stdout] --> src/contract.rs:385:44 [INFO] [stdout] | [INFO] [stdout] 385 | let stats = analyzer.get_transaction_stats(address).await?; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/contract.rs:385:53 [INFO] [stdout] | [INFO] [stdout] 384 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_contract_rs_384_0() { [INFO] [stdout] | ---------------------------------------- this is not `async` [INFO] [stdout] 385 | let stats = analyzer.get_transaction_stats(address).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - Evm::get_transaction_count (line 137) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Evm` in this scope [INFO] [stdout] --> src/lib.rs:140:23 [INFO] [stdout] | [INFO] [stdout] 140 | async fn example(evm: Evm) -> Result<(), Box> { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 137 + use evm_sdk::Evm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/contract.rs - contract::ContractAnalyzer::analyze_bytecode_features (line 281) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `analyzer` in this scope [INFO] [stdout] --> src/contract.rs:282:16 [INFO] [stdout] | [INFO] [stdout] 282 | let features = analyzer.analyze_bytecode_features(address).await?; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `address` in this scope [INFO] [stdout] --> src/contract.rs:282:51 [INFO] [stdout] | [INFO] [stdout] 282 | let features = analyzer.analyze_bytecode_features(address).await?; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/contract.rs:282:60 [INFO] [stdout] | [INFO] [stdout] 281 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_contract_rs_281_0() { [INFO] [stdout] | ---------------------------------------- this is not `async` [INFO] [stdout] 282 | let features = analyzer.analyze_bytecode_features(address).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/contract.rs - contract::ContractAnalyzer::get_contract_bytecode (line 121) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `analyzer` in this scope [INFO] [stdout] --> src/contract.rs:122:16 [INFO] [stdout] | [INFO] [stdout] 122 | let bytecode = analyzer.get_contract_bytecode(address).await?; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `address` in this scope [INFO] [stdout] --> src/contract.rs:122:47 [INFO] [stdout] | [INFO] [stdout] 122 | let bytecode = analyzer.get_contract_bytecode(address).await?; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/contract.rs:122:56 [INFO] [stdout] | [INFO] [stdout] 121 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_contract_rs_121_0() { [INFO] [stdout] | ---------------------------------------- this is not `async` [INFO] [stdout] 122 | let bytecode = analyzer.get_contract_bytecode(address).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - Evm::get_trade_listener (line 312) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Evm` in this scope [INFO] [stdout] --> src/lib.rs:315:23 [INFO] [stdout] | [INFO] [stdout] 315 | async fn example(evm: Evm) -> Result<(), Box> { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 312 + use evm_sdk::Evm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/contract.rs - contract::ContractAnalyzer::extract_function_selectors (line 252) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `analyzer` in this scope [INFO] [stdout] --> src/contract.rs:253:16 [INFO] [stdout] | [INFO] [stdout] 253 | let bytecode = analyzer.get_contract_bytecode(address).await?; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `address` in this scope [INFO] [stdout] --> src/contract.rs:253:47 [INFO] [stdout] | [INFO] [stdout] 253 | let bytecode = analyzer.get_contract_bytecode(address).await?; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `analyzer` in this scope [INFO] [stdout] --> src/contract.rs:254:17 [INFO] [stdout] | [INFO] [stdout] 254 | let selectors = analyzer.extract_function_selectors(&bytecode); [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/contract.rs:253:56 [INFO] [stdout] | [INFO] [stdout] 252 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_contract_rs_252_0() { [INFO] [stdout] | ---------------------------------------- this is not `async` [INFO] [stdout] 253 | let bytecode = analyzer.get_contract_bytecode(address).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - Evm::get_chain_id (line 78) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Evm` in this scope [INFO] [stdout] --> src/lib.rs:79:23 [INFO] [stdout] | [INFO] [stdout] 79 | async fn example(evm: Evm) -> Result<(), Box> { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 78 + use evm_sdk::Evm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - Evm::get_block_number (line 97) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Evm` in this scope [INFO] [stdout] --> src/lib.rs:98:23 [INFO] [stdout] | [INFO] [stdout] 98 | async fn example(evm: Evm) -> Result<(), Box> { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 97 + use evm_sdk::Evm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - Evm::get_trade_service (line 296) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Evm` in this scope [INFO] [stdout] --> src/lib.rs:299:23 [INFO] [stdout] | [INFO] [stdout] 299 | async fn example(evm: Evm) -> Result<(), Box> { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 296 + use evm_sdk::Evm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/mempool.rs - mempool::MempoolListener::get_pending_transactions (line 184) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `listener` in this scope [INFO] [stdout] --> src/mempool.rs:185:19 [INFO] [stdout] | [INFO] [stdout] 185 | let pending_txs = listener.get_pending_transactions().await?; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/mempool.rs:185:55 [INFO] [stdout] | [INFO] [stdout] 184 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mempool_rs_184_0() { [INFO] [stdout] | --------------------------------------- this is not `async` [INFO] [stdout] 185 | let pending_txs = listener.get_pending_transactions().await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - Evm::get_logs (line 247) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Evm` in this scope [INFO] [stdout] --> src/lib.rs:251:23 [INFO] [stdout] | [INFO] [stdout] 251 | async fn example(evm: Evm) -> Result<(), Box> { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 247 + use evm_sdk::Evm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 258 | let logs = evm.get_logs(filter).await?; [INFO] [stdout] | ^^^^ [INFO] [stdout] 259 | println!("Found {} logs", logs.len()); [INFO] [stdout] | ---- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving `logs` an explicit type [INFO] [stdout] | [INFO] [stdout] 258 | let logs: /* Type */ = evm.get_logs(filter).await?; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0282, E0412. [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/contract.rs - contract::ContractAnalyzer::compare_contracts (line 326) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `analyzer` in this scope [INFO] [stdout] --> src/contract.rs:328:18 [INFO] [stdout] | [INFO] [stdout] 328 | let similarity = analyzer.compare_contracts(address1, address2).await?; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `address1` in this scope [INFO] [stdout] --> src/contract.rs:328:45 [INFO] [stdout] | [INFO] [stdout] 328 | let similarity = analyzer.compare_contracts(address1, address2).await?; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `address2` in this scope [INFO] [stdout] --> src/contract.rs:328:55 [INFO] [stdout] | [INFO] [stdout] 328 | let similarity = analyzer.compare_contracts(address1, address2).await?; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/contract.rs - contract::ContractAnalyzer::get_contract_info (line 92) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ContractAnalyzer` [INFO] [stdout] --> src/contract.rs:96:16 [INFO] [stdout] | [INFO] [stdout] 96 | let analyzer = ContractAnalyzer::new(evm_client); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ use of undeclared type `ContractAnalyzer` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 92 + use evm_sdk::contract::ContractAnalyzer; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0423]: expected value, found crate `evm_client` [INFO] [stdout] --> src/contract.rs:96:38 [INFO] [stdout] | [INFO] [stdout] 96 | let analyzer = ContractAnalyzer::new(evm_client); [INFO] [stdout] | ^^^^^^^^^^ not a value [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/contract.rs:98:57 [INFO] [stdout] | [INFO] [stdout] 92 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_contract_rs_92_0() { [INFO] [stdout] | --------------------------------------- this is not `async` [INFO] [stdout] ... [INFO] [stdout] 98 | let contract_info = analyzer.get_contract_info(address).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/contract.rs:97:78 [INFO] [stdout] | [INFO] [stdout] 92 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_contract_rs_92_0() { [INFO] [stdout] | --------------------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 97 | let address = Address::from_str("0x742d35Cc6634C0532925a3b8D6B6f7C93D5A7A7A")?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] help: consider adding return type [INFO] [stdout] | [INFO] [stdout] 92 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_contract_rs_92_0() -> Result<(), Box> { [INFO] [stdout] 93 | use ethers::types::Address; [INFO] [stdout] ... [INFO] [stdout] 99 | println!("Contract bytecode length: {}", contract_info.bytecode.len()); [INFO] [stdout] 100 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0423, E0433, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - Evm::get_mempool_listener (line 344) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Evm` in this scope [INFO] [stdout] --> src/lib.rs:347:23 [INFO] [stdout] | [INFO] [stdout] 347 | async fn example(evm: Evm) -> Result<(), Box> { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 344 + use evm_sdk::Evm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - Evm::get_wallet_balance (line 277) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Evm` in this scope [INFO] [stdout] --> src/lib.rs:278:23 [INFO] [stdout] | [INFO] [stdout] 278 | async fn example(evm: Evm) -> Result<(), Box> { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 277 + use evm_sdk::Evm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/contract.rs - contract::ContractAnalyzer::get_storage_at (line 192) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `H256` [INFO] [stdout] --> src/contract.rs:193:12 [INFO] [stdout] | [INFO] [stdout] 193 | let slot = H256::zero(); [INFO] [stdout] | ^^^^ use of undeclared type `H256` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 192 + use ethers::types::H256; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `analyzer` in this scope [INFO] [stdout] --> src/contract.rs:194:13 [INFO] [stdout] | [INFO] [stdout] 194 | let value = analyzer.get_storage_at(address, slot).await?; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `address` in this scope [INFO] [stdout] --> src/contract.rs:194:37 [INFO] [stdout] | [INFO] [stdout] 194 | let value = analyzer.get_storage_at(address, slot).await?; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/contract.rs:194:52 [INFO] [stdout] | [INFO] [stdout] 192 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_contract_rs_192_0() { [INFO] [stdout] | ---------------------------------------- this is not `async` [INFO] [stdout] 193 | let slot = H256::zero(); [INFO] [stdout] 194 | let value = analyzer.get_storage_at(address, slot).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/mempool.rs - mempool::MempoolListener::get_pending_transactions_list (line 331) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `listener` in this scope [INFO] [stdout] --> src/mempool.rs:332:20 [INFO] [stdout] | [INFO] [stdout] 332 | let transactions = listener.get_pending_transactions_list().await; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/mempool.rs:332:61 [INFO] [stdout] | [INFO] [stdout] 331 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mempool_rs_331_0() { [INFO] [stdout] | --------------------------------------- this is not `async` [INFO] [stdout] 332 | let transactions = listener.get_pending_transactions_list().await; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - Evm::with_wallet (line 56) stdout ---- [INFO] [stdout] error[E0432]: unresolved import `evm_utils` [INFO] [stdout] --> src/lib.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | use evm_utils::Evm; [INFO] [stdout] | ^^^^^^^^^ use of unresolved module or unlinked crate `evm_utils` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `evm_utils`, use `cargo add evm_utils` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `Ethereum` found for enum `EvmType` in the current scope [INFO] [stdout] --> src/lib.rs:62:37 [INFO] [stdout] | [INFO] [stdout] 62 | let evm = Evm::with_wallet(EvmType::Ethereum, private_key).await?; [INFO] [stdout] | ^^^^^^^^ variant or associated item not found in `EvmType` [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | let evm = Evm::with_wallet(EvmType::Ethereum, private_key).await?; [INFO] [stdout] | ^^^ [INFO] [stdout] 63 | let balance = evm.get_wallet_balance().await?; [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving `evm` an explicit type [INFO] [stdout] | [INFO] [stdout] 62 | let evm: /* Type */ = Evm::with_wallet(EvmType::Ethereum, private_key).await?; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0599. [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/mempool.rs - mempool::MempoolListener::contains_transaction (line 469) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `TxHash` in this scope [INFO] [stdout] --> src/mempool.rs:470:14 [INFO] [stdout] | [INFO] [stdout] 470 | let tx_hash: TxHash = "0x...".parse().unwrap(); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 469 + use ethers::types::TxHash; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `listener` in this scope [INFO] [stdout] --> src/mempool.rs:471:4 [INFO] [stdout] | [INFO] [stdout] 471 | if listener.contains_transaction(tx_hash).await { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/mempool.rs:471:43 [INFO] [stdout] | [INFO] [stdout] 469 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mempool_rs_469_0() { [INFO] [stdout] | --------------------------------------- this is not `async` [INFO] [stdout] 470 | let tx_hash: TxHash = "0x...".parse().unwrap(); [INFO] [stdout] 471 | if listener.contains_transaction(tx_hash).await { [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - Evm::send_transaction (line 177) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Evm` in this scope [INFO] [stdout] --> src/lib.rs:180:23 [INFO] [stdout] | [INFO] [stdout] 180 | async fn example(evm: Evm) -> Result<(), Box> { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 177 + use evm_sdk::Evm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/mempool.rs - mempool::MempoolService::get_suggested_gas_price (line 692) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `service` in this scope [INFO] [stdout] --> src/mempool.rs:693:17 [INFO] [stdout] | [INFO] [stdout] 693 | let gas_price = service.get_suggested_gas_price().await?; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/mempool.rs:693:51 [INFO] [stdout] | [INFO] [stdout] 692 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mempool_rs_692_0() { [INFO] [stdout] | --------------------------------------- this is not `async` [INFO] [stdout] 693 | let gas_price = service.get_suggested_gas_price().await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/mempool.rs - mempool::MempoolListener::get_high_gas_transactions (line 379) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `U256` [INFO] [stdout] --> src/mempool.rs:380:17 [INFO] [stdout] | [INFO] [stdout] 380 | let threshold = U256::from(100_000_000_000u64); // 100 Gwei [INFO] [stdout] | ^^^^ use of undeclared type `U256` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 379 + use ethers::types::U256; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `listener` in this scope [INFO] [stdout] --> src/mempool.rs:381:20 [INFO] [stdout] | [INFO] [stdout] 381 | let high_gas_txs = listener.get_high_gas_transactions(threshold).await; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/mempool.rs:381:66 [INFO] [stdout] | [INFO] [stdout] 379 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mempool_rs_379_0() { [INFO] [stdout] | --------------------------------------- this is not `async` [INFO] [stdout] 380 | let threshold = U256::from(100_000_000_000u64); // 100 Gwei [INFO] [stdout] 381 | let high_gas_txs = listener.get_high_gas_transactions(threshold).await; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/mempool.rs - mempool::MempoolListener::get_large_value_transactions (line 396) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `U256` [INFO] [stdout] --> src/mempool.rs:397:17 [INFO] [stdout] | [INFO] [stdout] 397 | let threshold = U256::from(1_000_000_000_000_000_000u64); // 1 ETH [INFO] [stdout] | ^^^^ use of undeclared type `U256` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 396 + use ethers::types::U256; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `listener` in this scope [INFO] [stdout] --> src/mempool.rs:398:17 [INFO] [stdout] | [INFO] [stdout] 398 | let large_txs = listener.get_large_value_transactions(threshold).await; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/mempool.rs:398:66 [INFO] [stdout] | [INFO] [stdout] 396 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mempool_rs_396_0() { [INFO] [stdout] | --------------------------------------- this is not `async` [INFO] [stdout] 397 | let threshold = U256::from(1_000_000_000_000_000_000u64); // 1 ETH [INFO] [stdout] 398 | let large_txs = listener.get_large_value_transactions(threshold).await; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/mempool.rs - mempool::MempoolListener::get_transaction_details (line 483) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `TxHash` in this scope [INFO] [stdout] --> src/mempool.rs:484:14 [INFO] [stdout] | [INFO] [stdout] 484 | let tx_hash: TxHash = "0x...".parse().unwrap(); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 483 + use ethers::types::TxHash; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `listener` in this scope [INFO] [stdout] --> src/mempool.rs:485:19 [INFO] [stdout] | [INFO] [stdout] 485 | if let Some(tx) = listener.get_transaction_details(tx_hash).await { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/mempool.rs:485:61 [INFO] [stdout] | [INFO] [stdout] 483 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mempool_rs_483_0() { [INFO] [stdout] | --------------------------------------- this is not `async` [INFO] [stdout] 484 | let tx_hash: TxHash = "0x...".parse().unwrap(); [INFO] [stdout] 485 | if let Some(tx) = listener.get_transaction_details(tx_hash).await { [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/mempool.rs - mempool::MempoolListener::get_stats (line 413) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `listener` in this scope [INFO] [stdout] --> src/mempool.rs:414:13 [INFO] [stdout] | [INFO] [stdout] 414 | let stats = listener.get_stats().await; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/mempool.rs:414:34 [INFO] [stdout] | [INFO] [stdout] 413 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mempool_rs_413_0() { [INFO] [stdout] | --------------------------------------- this is not `async` [INFO] [stdout] 414 | let stats = listener.get_stats().await; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/mempool.rs - mempool::MempoolService::create_listener (line 653) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `MempoolService` [INFO] [stdout] --> src/mempool.rs:654:15 [INFO] [stdout] | [INFO] [stdout] 654 | let service = MempoolService::new(evm); [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type `MempoolService` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 653 + use evm_sdk::mempool::MempoolService; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `evm` in this scope [INFO] [stdout] --> src/mempool.rs:654:35 [INFO] [stdout] | [INFO] [stdout] 654 | let service = MempoolService::new(evm); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/trade.rs - trade::TradeEventListener::watch_address_events (line 660) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `event_listener` in this scope [INFO] [stdout] --> src/trade.rs:661:20 [INFO] [stdout] | [INFO] [stdout] 661 | let mut receiver = event_listener.watch_address_events( [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/trade.rs:663:3 [INFO] [stdout] | [INFO] [stdout] 660 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_660_0() { [INFO] [stdout] | ------------------------------------- this is not `async` [INFO] [stdout] ... [INFO] [stdout] 663 | ).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/trade.rs - trade::TradeEventListener::watch_large_transactions (line 444) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `event_listener` in this scope [INFO] [stdout] --> src/trade.rs:445:20 [INFO] [stdout] | [INFO] [stdout] 445 | let mut receiver = event_listener.watch_large_transactions( [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `U256` [INFO] [stdout] --> src/trade.rs:446:5 [INFO] [stdout] | [INFO] [stdout] 446 | U256::from(10u64.pow(18)), // 1 ETH [INFO] [stdout] | ^^^^ use of undeclared type `U256` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 444 + use ethers::types::U256; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/trade.rs:448:3 [INFO] [stdout] | [INFO] [stdout] 444 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_444_0() { [INFO] [stdout] | ------------------------------------- this is not `async` [INFO] [stdout] ... [INFO] [stdout] 448 | ).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/trade.rs:450:38 [INFO] [stdout] | [INFO] [stdout] 444 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_444_0() { [INFO] [stdout] | ------------------------------------- this is not `async` [INFO] [stdout] ... [INFO] [stdout] 450 | while let Some(tx) = receiver.recv().await { [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - Evm::get_transaction_receipt (line 221) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Evm` in this scope [INFO] [stdout] --> src/lib.rs:224:23 [INFO] [stdout] | [INFO] [stdout] 224 | async fn example(evm: Evm) -> Result<(), Box> { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 221 + use evm_sdk::Evm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/mempool.rs - mempool::MempoolListener::get_transactions_by_sender (line 345) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Address` in this scope [INFO] [stdout] --> src/mempool.rs:346:14 [INFO] [stdout] | [INFO] [stdout] 346 | let address: Address = "0x...".parse().unwrap(); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these type aliases [INFO] [stdout] | [INFO] [stdout] 345 + use ethers::abi::Address; [INFO] [stdout] | [INFO] [stdout] 345 + use ethers::types::Address; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `listener` in this scope [INFO] [stdout] --> src/mempool.rs:347:18 [INFO] [stdout] | [INFO] [stdout] 347 | let sender_txs = listener.get_transactions_by_sender(address).await; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/mempool.rs:347:63 [INFO] [stdout] | [INFO] [stdout] 345 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mempool_rs_345_0() { [INFO] [stdout] | --------------------------------------- this is not `async` [INFO] [stdout] 346 | let address: Address = "0x...".parse().unwrap(); [INFO] [stdout] 347 | let sender_txs = listener.get_transactions_by_sender(address).await; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - Evm::new (line 35) stdout ---- [INFO] [stdout] error[E0432]: unresolved import `evm_utils` [INFO] [stdout] --> src/lib.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use evm_utils::Evm; [INFO] [stdout] | ^^^^^^^^^ use of unresolved module or unlinked crate `evm_utils` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `evm_utils`, use `cargo add evm_utils` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `Ethereum` found for enum `EvmType` in the current scope [INFO] [stdout] --> src/lib.rs:40:29 [INFO] [stdout] | [INFO] [stdout] 40 | let evm = Evm::new(EvmType::Ethereum).await?; [INFO] [stdout] | ^^^^^^^^ variant or associated item not found in `EvmType` [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | let evm = Evm::new(EvmType::Ethereum).await?; [INFO] [stdout] | ^^^ [INFO] [stdout] 41 | let chain_id = evm.get_chain_id().await?; [INFO] [stdout] | --- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving `evm` an explicit type [INFO] [stdout] | [INFO] [stdout] 40 | let evm: /* Type */ = Evm::new(EvmType::Ethereum).await?; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0599. [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/trade.rs - trade::TradeService::get_transaction_stats (line 253) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `trade_service` in this scope [INFO] [stdout] --> src/trade.rs:254:13 [INFO] [stdout] | [INFO] [stdout] 254 | let stats = trade_service.get_transaction_stats( [INFO] [stdout] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/trade.rs:258:3 [INFO] [stdout] | [INFO] [stdout] 253 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_253_0() { [INFO] [stdout] | ------------------------------------- this is not `async` [INFO] [stdout] ... [INFO] [stdout] 258 | ).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/mempool.rs - mempool::MempoolListener::get_transactions_by_receiver (line 362) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Address` in this scope [INFO] [stdout] --> src/mempool.rs:363:14 [INFO] [stdout] | [INFO] [stdout] 363 | let address: Address = "0x...".parse().unwrap(); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these type aliases [INFO] [stdout] | [INFO] [stdout] 362 + use ethers::abi::Address; [INFO] [stdout] | [INFO] [stdout] 362 + use ethers::types::Address; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `listener` in this scope [INFO] [stdout] --> src/mempool.rs:364:20 [INFO] [stdout] | [INFO] [stdout] 364 | let receiver_txs = listener.get_transactions_by_receiver(address).await; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/mempool.rs:364:67 [INFO] [stdout] | [INFO] [stdout] 362 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mempool_rs_362_0() { [INFO] [stdout] | --------------------------------------- this is not `async` [INFO] [stdout] 363 | let address: Address = "0x...".parse().unwrap(); [INFO] [stdout] 364 | let receiver_txs = listener.get_transactions_by_receiver(address).await; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/trade.rs - trade::TradeEventListener::watch_large_transfers (line 533) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `event_listener` in this scope [INFO] [stdout] --> src/trade.rs:535:20 [INFO] [stdout] | [INFO] [stdout] 535 | let mut receiver = event_listener.watch_large_transfers( [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `U256` [INFO] [stdout] --> src/trade.rs:537:5 [INFO] [stdout] | [INFO] [stdout] 537 | U256::from(1000 * 10u64.pow(18)), // 1000 tokens [INFO] [stdout] | ^^^^ use of undeclared type `U256` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 533 + use ethers::types::U256; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/trade.rs:539:3 [INFO] [stdout] | [INFO] [stdout] 533 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_533_0() { [INFO] [stdout] | ------------------------------------- this is not `async` [INFO] [stdout] ... [INFO] [stdout] 539 | ).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/trade.rs - trade::TradeService::get_balance_history (line 338) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `trade_service` in this scope [INFO] [stdout] --> src/trade.rs:339:15 [INFO] [stdout] | [INFO] [stdout] 339 | let history = trade_service.get_balance_history( [INFO] [stdout] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/trade.rs:344:3 [INFO] [stdout] | [INFO] [stdout] 338 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_338_0() { [INFO] [stdout] | ------------------------------------- this is not `async` [INFO] [stdout] ... [INFO] [stdout] 344 | ).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/mempool.rs - mempool::MempoolService::create_listener_with_config (line 664) stdout ---- [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `MempoolConfig` in this scope [INFO] [stdout] --> src/mempool.rs:665:14 [INFO] [stdout] | [INFO] [stdout] 665 | let config = MempoolConfig { [INFO] [stdout] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 664 + use evm_sdk::mempool::MempoolConfig; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration` [INFO] [stdout] --> src/mempool.rs:666:20 [INFO] [stdout] | [INFO] [stdout] 666 | poll_interval: Duration::from_secs(5), [INFO] [stdout] | ^^^^^^^^ use of undeclared type `Duration` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 664 + use std::time::Duration; [INFO] [stdout] | [INFO] [stdout] 664 + use chrono::Duration; [INFO] [stdout] | [INFO] [stdout] 664 + use tokio::time::Duration; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `service` in this scope [INFO] [stdout] --> src/mempool.rs:670:16 [INFO] [stdout] | [INFO] [stdout] 670 | let listener = service.create_listener_with_config(config); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0422`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/mempool.rs - mempool::MempoolListener::start (line 106) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Arc` [INFO] [stdout] --> src/mempool.rs:107:11 [INFO] [stdout] | [INFO] [stdout] 107 | let evm = Arc::new(Evm::new()); [INFO] [stdout] | ^^^ use of undeclared type `Arc` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 106 + use std::sync::Arc; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Evm` [INFO] [stdout] --> src/mempool.rs:107:20 [INFO] [stdout] | [INFO] [stdout] 107 | let evm = Arc::new(Evm::new()); [INFO] [stdout] | ^^^ use of undeclared type `Evm` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 106 + use evm_sdk::Evm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `MempoolListener` [INFO] [stdout] --> src/mempool.rs:108:16 [INFO] [stdout] | [INFO] [stdout] 108 | let listener = MempoolListener::new(evm); [INFO] [stdout] | ^^^^^^^^^^^^^^^ use of undeclared type `MempoolListener` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 106 + use evm_sdk::mempool::MempoolListener; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/mempool.rs:109:18 [INFO] [stdout] | [INFO] [stdout] 106 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mempool_rs_106_0() { [INFO] [stdout] | --------------------------------------- this is not `async` [INFO] [stdout] ... [INFO] [stdout] 109 | listener.start().await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0433, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0433`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/trade.rs - trade::TradeService::get_transactions_involving_addresses (line 124) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `trade_service` in this scope [INFO] [stdout] --> src/trade.rs:127:20 [INFO] [stdout] | [INFO] [stdout] 127 | let transactions = trade_service.get_transactions_involving_addresses( [INFO] [stdout] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/trade.rs:132:3 [INFO] [stdout] | [INFO] [stdout] 124 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_124_0() { [INFO] [stdout] | ------------------------------------- this is not `async` [INFO] [stdout] ... [INFO] [stdout] 132 | ).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/trade.rs - trade::TradeService::get_transactions_by_address (line 55) stdout ---- [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `TransactionQuery` in this scope [INFO] [stdout] --> src/trade.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let query = TransactionQuery { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 55 + use evm_sdk::trade::TransactionQuery; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `trade_service` in this scope [INFO] [stdout] --> src/trade.rs:63:14 [INFO] [stdout] | [INFO] [stdout] 63 | let result = trade_service.get_transactions_by_address(query).await?; [INFO] [stdout] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/trade.rs:63:63 [INFO] [stdout] | [INFO] [stdout] 55 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_55_0() { [INFO] [stdout] | ------------------------------------ this is not `async` [INFO] [stdout] ... [INFO] [stdout] 63 | let result = trade_service.get_transactions_by_address(query).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0422`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/mempool.rs - mempool::MempoolService::get_pending_transaction_count (line 679) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `service` in this scope [INFO] [stdout] --> src/mempool.rs:680:13 [INFO] [stdout] | [INFO] [stdout] 680 | let count = service.get_pending_transaction_count().await?; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/mempool.rs:680:53 [INFO] [stdout] | [INFO] [stdout] 679 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mempool_rs_679_0() { [INFO] [stdout] | --------------------------------------- this is not `async` [INFO] [stdout] 680 | let count = service.get_pending_transaction_count().await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/trade.rs - trade::TradeService::get_transaction_by_hash (line 303) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `trade_service` in this scope [INFO] [stdout] --> src/trade.rs:305:19 [INFO] [stdout] | [INFO] [stdout] 305 | let transaction = trade_service.get_transaction_by_hash(tx_hash).await?; [INFO] [stdout] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/trade.rs:305:66 [INFO] [stdout] | [INFO] [stdout] 303 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_303_0() { [INFO] [stdout] | ------------------------------------- this is not `async` [INFO] [stdout] 304 | let tx_hash = "0x...".parse().unwrap(); [INFO] [stdout] 305 | let transaction = trade_service.get_transaction_by_hash(tx_hash).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/trade.rs - trade::TradeService::get_transactions_from_b_to_a (line 194) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `trade_service` in this scope [INFO] [stdout] --> src/trade.rs:197:20 [INFO] [stdout] | [INFO] [stdout] 197 | let transactions = trade_service.get_transactions_from_b_to_a( [INFO] [stdout] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/trade.rs:202:3 [INFO] [stdout] | [INFO] [stdout] 194 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_194_0() { [INFO] [stdout] | ------------------------------------- this is not `async` [INFO] [stdout] ... [INFO] [stdout] 202 | ).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/contract.rs - contract::ContractAnalyzer::analyze_bytecode_features (line 281) [INFO] [stdout] src/contract.rs - contract::ContractAnalyzer::analyze_storage_layout (line 218) [INFO] [stdout] src/contract.rs - contract::ContractAnalyzer::compare_contracts (line 326) [INFO] [stdout] src/contract.rs - contract::ContractAnalyzer::extract_function_selectors (line 252) [INFO] [stdout] src/contract.rs - contract::ContractAnalyzer::get_contract_bytecode (line 121) [INFO] [stdout] src/contract.rs - contract::ContractAnalyzer::get_contract_info (line 92) [INFO] [stdout] src/contract.rs - contract::ContractAnalyzer::get_storage_at (line 192) [INFO] [stdout] src/contract.rs - contract::ContractAnalyzer::get_transaction_stats (line 384) [INFO] [stdout] src/lib.rs - Evm::get_balance (line 116) [INFO] [stdout] src/lib.rs - Evm::get_block_number (line 97) [INFO] [stdout] src/lib.rs - Evm::get_chain_id (line 78) [INFO] [stdout] src/lib.rs - Evm::get_gas_price (line 159) [INFO] [stdout] src/lib.rs - Evm::get_logs (line 247) [INFO] [stdout] src/lib.rs - Evm::get_mempool_listener (line 344) [INFO] [stdout] src/lib.rs - Evm::get_mempool_service (line 328) [INFO] [stdout] src/lib.rs - Evm::get_trade_listener (line 312) [INFO] [stdout] src/lib.rs - Evm::get_trade_service (line 296) [INFO] [stdout] src/lib.rs - Evm::get_transaction_count (line 137) [INFO] [stdout] src/lib.rs - Evm::get_transaction_receipt (line 221) [INFO] [stdout] src/lib.rs - Evm::get_wallet_balance (line 277) [INFO] [stdout] src/lib.rs - Evm::new (line 35) [INFO] [stdout] src/lib.rs - Evm::send_transaction (line 177) [INFO] [stdout] src/lib.rs - Evm::with_wallet (line 56) [INFO] [stdout] src/mempool.rs - mempool::MempoolListener::contains_transaction (line 469) [INFO] [stdout] src/mempool.rs - mempool::MempoolListener::get_high_gas_transactions (line 379) [INFO] [stdout] src/mempool.rs - mempool::MempoolListener::get_large_value_transactions (line 396) [INFO] [stdout] src/mempool.rs - mempool::MempoolListener::get_pending_transactions (line 184) [INFO] [stdout] src/mempool.rs - mempool::MempoolListener::get_pending_transactions_list (line 331) [INFO] [stdout] src/mempool.rs - mempool::MempoolListener::get_stats (line 413) [INFO] [stdout] src/mempool.rs - mempool::MempoolListener::get_transaction_details (line 483) [INFO] [stdout] src/mempool.rs - mempool::MempoolListener::get_transactions_by_receiver (line 362) [INFO] [stdout] src/mempool.rs - mempool::MempoolListener::get_transactions_by_sender (line 345) [INFO] [stdout] src/mempool.rs - mempool::MempoolListener::start (line 106) [INFO] [stdout] src/mempool.rs - mempool::MempoolService::create_listener (line 653) [INFO] [stdout] src/mempool.rs - mempool::MempoolService::create_listener_with_config (line 664) [INFO] [stdout] src/mempool.rs - mempool::MempoolService::get_pending_transaction_count (line 679) [INFO] [stdout] src/mempool.rs - mempool::MempoolService::get_suggested_gas_price (line 692) [INFO] [stdout] src/trade.rs - trade::TradeEventListener::watch_address_events (line 660) [INFO] [stdout] src/trade.rs - trade::TradeEventListener::watch_large_transactions (line 444) [INFO] [stdout] src/trade.rs - trade::TradeEventListener::watch_large_transfers (line 533) [INFO] [stdout] src/trade.rs - trade::TradeService::get_balance_history (line 338) [INFO] [stdout] src/trade.rs - trade::TradeService::get_transaction_by_hash (line 303) [INFO] [stdout] src/trade.rs - trade::TradeService::get_transaction_stats (line 253) [INFO] [stdout] src/trade.rs - trade::TradeService::get_transactions_by_address (line 55) [INFO] [stdout] src/trade.rs - trade::TradeService::get_transactions_from_b_to_a (line 194) [INFO] [stdout] src/trade.rs - trade::TradeService::get_transactions_involving_addresses (line 124) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 46 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.58s [INFO] [stdout] [INFO] [stdout] all doctests ran in 3.03s; merged doctests compilation took 0.44s [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "e00d1574d788b7990d0b831a13630bd11ab026e02878535250a0130df41f0b02", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e00d1574d788b7990d0b831a13630bd11ab026e02878535250a0130df41f0b02", kill_on_drop: false }` [INFO] [stdout] e00d1574d788b7990d0b831a13630bd11ab026e02878535250a0130df41f0b02