[INFO] cloning repository https://github.com/whetstoneresearch/doppler-indexer-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/whetstoneresearch/doppler-indexer-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwhetstoneresearch%2Fdoppler-indexer-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwhetstoneresearch%2Fdoppler-indexer-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 702677c98ca87547c5e12c12fb613dd25330c85d [INFO] linting whetstoneresearch/doppler-indexer-rs against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwhetstoneresearch%2Fdoppler-indexer-rs" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/whetstoneresearch/doppler-indexer-rs [INFO] finished tweaking git repo https://github.com/whetstoneresearch/doppler-indexer-rs [INFO] tweaked toml for git repo https://github.com/whetstoneresearch/doppler-indexer-rs written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/whetstoneresearch/doppler-indexer-rs on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/whetstoneresearch/doppler-indexer-rs 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded zmij v1.0.16 [INFO] [stderr] Downloaded postgres-derive v0.4.7 [INFO] [stderr] Downloaded wasite v1.0.2 [INFO] [stderr] Downloaded arrow-select v54.3.1 [INFO] [stderr] Downloaded alloy-rlp-derive v0.3.12 [INFO] [stderr] Downloaded alloy-sol-macro-input v1.5.2 [INFO] [stderr] Downloaded alloy-rlp v0.3.12 [INFO] [stderr] Downloaded postgres-protocol v0.6.10 [INFO] [stderr] Downloaded alloy-rpc-types-debug v1.5.2 [INFO] [stderr] Downloaded alloy-tx-macros v1.5.2 [INFO] [stderr] Downloaded alloy-rpc-types-anvil v1.5.2 [INFO] [stderr] Downloaded flatbuffers v24.12.23 [INFO] [stderr] Downloaded alloy-rpc-types-txpool v1.5.2 [INFO] [stderr] Downloaded alloy-contract v1.5.2 [INFO] [stderr] Downloaded alloy-network v1.5.2 [INFO] [stderr] Downloaded alloy-dyn-abi v1.5.2 [INFO] [stderr] Downloaded alloy-primitives v1.5.2 [INFO] [stderr] Downloaded alloy-rpc-types-eth v1.5.2 [INFO] [stderr] Downloaded alloy-consensus v1.5.2 [INFO] [stderr] Downloaded governor v0.10.4 [INFO] [stderr] Downloaded interprocess v2.2.3 [INFO] [stderr] Downloaded alloy-provider v1.5.2 [INFO] [stderr] Downloaded arrow-ipc v54.3.1 [INFO] [stderr] Downloaded arrow-array v54.3.1 [INFO] [stderr] Downloaded arrow v54.3.1 [INFO] [stderr] Downloaded object_store v0.11.2 [INFO] [stderr] Downloaded arrow-cast v54.3.1 [INFO] [stderr] Downloaded alloy-genesis v1.5.2 [INFO] [stderr] Downloaded alloy-eips v1.5.2 [INFO] [stderr] Downloaded arrow-buffer v54.3.1 [INFO] [stderr] Downloaded alloy-rpc-types-engine v1.5.2 [INFO] [stderr] Downloaded alloy-rpc-types-trace v1.5.2 [INFO] [stderr] Downloaded alloy-sol-types v1.5.2 [INFO] [stderr] Downloaded arrow-arith v54.3.1 [INFO] [stderr] Downloaded arrow-data v54.3.1 [INFO] [stderr] Downloaded tokio-postgres v0.7.16 [INFO] [stderr] Downloaded syn-solidity v1.5.2 [INFO] [stderr] Downloaded alloy-json-rpc v1.5.2 [INFO] [stderr] Downloaded alloy-transport v1.5.2 [INFO] [stderr] Downloaded nybbles v0.4.7 [INFO] [stderr] Downloaded alloy-trie v0.9.3 [INFO] [stderr] Downloaded alloy v1.5.2 [INFO] [stderr] Downloaded arrow-string v54.3.1 [INFO] [stderr] Downloaded snafu v0.8.9 [INFO] [stderr] Downloaded parquet v54.3.1 [INFO] [stderr] Downloaded arrow-schema v54.3.1 [INFO] [stderr] Downloaded alloy-core v1.5.2 [INFO] [stderr] Downloaded alloy-rpc-client v1.5.2 [INFO] [stderr] Downloaded alloy-serde v1.5.2 [INFO] [stderr] Downloaded alloy-signer-local v1.5.2 [INFO] [stderr] Downloaded alloy-transport-http v1.5.2 [INFO] [stderr] Downloaded alloy-pubsub v1.5.2 [INFO] [stderr] Downloaded alloy-json-abi v1.5.2 [INFO] [stderr] Downloaded rapidhash v4.2.1 [INFO] [stderr] Downloaded arrow-ord v54.3.1 [INFO] [stderr] Downloaded arrow-row v54.3.1 [INFO] [stderr] Downloaded metrics-exporter-prometheus v0.16.2 [INFO] [stderr] Downloaded alloy-rpc-types v1.5.2 [INFO] [stderr] Downloaded alloy-consensus-any v1.5.2 [INFO] [stderr] Downloaded alloy-network-primitives v1.5.2 [INFO] [stderr] Downloaded alloy-sol-macro-expander v1.5.2 [INFO] [stderr] Downloaded alloy-transport-ws v1.5.2 [INFO] [stderr] Downloaded snafu-derive v0.8.9 [INFO] [stderr] Downloaded deadpool-postgres v0.14.1 [INFO] [stderr] Downloaded alloy-signer v1.5.2 [INFO] [stderr] Downloaded alloy-sol-type-parser v1.5.2 [INFO] [stderr] Downloaded alloy-sol-macro v1.5.2 [INFO] [stderr] Downloaded alloy-rpc-types-any v1.5.2 [INFO] [stderr] Downloaded alloy-transport-ipc v1.5.2 [INFO] [stderr] Downloaded sketches-ddsketch v0.3.1 [INFO] [stderr] Downloaded postgres-types v0.2.12 [INFO] [stderr] Downloaded whoami v2.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cefe1d660f46c539e53921317781353872f4d95da16102c037e8ed04ab14777d [INFO] running `Command { std: "docker" "start" "-a" "cefe1d660f46c539e53921317781353872f4d95da16102c037e8ed04ab14777d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cefe1d660f46c539e53921317781353872f4d95da16102c037e8ed04ab14777d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cefe1d660f46c539e53921317781353872f4d95da16102c037e8ed04ab14777d", kill_on_drop: false }` [INFO] [stdout] cefe1d660f46c539e53921317781353872f4d95da16102c037e8ed04ab14777d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 50738bb325be45b43f87274e4dc67e65dfcff8ca7ed61506ad82329889d8d55e [INFO] running `Command { std: "docker" "start" "-a" "50738bb325be45b43f87274e4dc67e65dfcff8ca7ed61506ad82329889d8d55e", kill_on_drop: false }` [INFO] [stderr] Compiling find-msvc-tools v0.1.8 [INFO] [stderr] Compiling generic-array v0.14.9 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling zmij v1.0.16 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling zerocopy v0.8.33 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Compiling cc v1.2.54 [INFO] [stderr] Compiling aws-lc-rs v1.16.1 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Checking arrow-schema v54.3.1 [INFO] [stderr] Checking lexical-util v1.0.7 [INFO] [stderr] Checking unicode-normalization v0.1.25 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Checking regex-syntax v0.8.8 [INFO] [stderr] Checking unicode-properties v0.1.4 [INFO] [stderr] Checking fallible-iterator v0.2.0 [INFO] [stderr] Compiling flatbuffers v24.12.23 [INFO] [stderr] Checking raw-cpuid v11.6.0 [INFO] [stderr] Checking comfy-table v7.2.2 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Checking lexical-write-integer v1.0.6 [INFO] [stderr] Checking lexical-parse-integer v1.0.6 [INFO] [stderr] Checking stringprep v0.1.5 [INFO] [stderr] Compiling portable-atomic v1.13.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Checking lexical-write-float v1.0.6 [INFO] [stderr] Checking lexical-parse-float v1.0.6 [INFO] [stderr] Compiling snap v1.1.1 [INFO] [stderr] Checking phf v0.13.1 [INFO] [stderr] Checking rand_xoshiro v0.7.0 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking atoi v2.0.0 [INFO] [stderr] Checking ordered-float v2.10.1 [INFO] [stderr] Checking linux-raw-sys v0.12.1 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Compiling rust_decimal v1.40.0 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking integer-encoding v3.0.4 [INFO] [stderr] Checking sketches-ddsketch v0.3.1 [INFO] [stderr] Checking lexical-core v1.0.6 [INFO] [stderr] Checking whoami v2.1.0 [INFO] [stderr] Checking twox-hash v1.6.3 [INFO] [stderr] Checking humantime v2.3.0 [INFO] [stderr] Compiling seq-macro v0.3.6 [INFO] [stderr] Checking thrift v0.17.0 [INFO] [stderr] Checking nonzero_ext v0.3.0 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Compiling aws-lc-sys v0.38.0 [INFO] [stderr] Compiling blst v0.3.16 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling c-kzg v2.1.5 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Checking quanta v0.12.6 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Checking tempfile v3.26.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling macro-string v0.1.4 [INFO] [stderr] Compiling syn-solidity v1.5.2 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Checking regex v1.12.2 [INFO] [stderr] Checking matchers v0.2.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling alloy-rlp-derive v0.3.12 [INFO] [stderr] Compiling zerocopy-derive v0.8.33 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling auto_impl v1.3.0 [INFO] [stderr] Checking zeroize v1.8.2 [INFO] [stderr] Checking der v0.7.10 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Checking rustls-pki-types v1.14.0 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking crypto-bigint v0.5.5 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking webpki-roots v1.0.5 [INFO] [stderr] Checking spki v0.7.3 [INFO] [stderr] Checking rfc6979 v0.4.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking rustls-native-certs v0.8.3 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking pkcs8 v0.10.2 [INFO] [stderr] Checking md-5 v0.10.6 [INFO] [stderr] Checking webpki-roots v0.26.11 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling num_enum_derive v0.7.5 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling postgres-derive v0.4.7 [INFO] [stderr] Compiling snafu-derive v0.8.9 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking num_enum v0.7.5 [INFO] [stderr] Checking pin-project v1.1.10 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking half v2.7.1 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking strum v0.27.2 [INFO] [stderr] Checking metrics v0.24.3 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking derive_more v2.1.1 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Checking bytes v1.11.0 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking serdect v0.2.0 [INFO] [stderr] Checking alloy-sol-type-parser v1.5.2 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking sec1 v0.7.3 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking chrono v0.4.43 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking elliptic-curve v0.13.8 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Checking dashmap v6.1.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking quick-xml v0.37.5 [INFO] [stderr] Checking alloy-rlp v0.3.12 [INFO] [stderr] Checking http v1.4.0 [INFO] [stderr] Checking tokio v1.49.0 [INFO] [stderr] Checking arrow-buffer v54.3.1 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking ruint v1.17.2 [INFO] [stderr] Checking postgres-protocol v0.6.10 [INFO] [stderr] Checking ecdsa v0.16.9 [INFO] [stderr] Checking metrics-util v0.19.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking snafu v0.8.9 [INFO] [stderr] Checking k256 v0.13.4 [INFO] [stderr] Compiling alloy-primitives v1.5.2 [INFO] [stderr] Checking postgres-types v0.2.12 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking governor v0.10.4 [INFO] [stderr] Checking tracing-subscriber v0.3.22 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Checking arrow-data v54.3.1 [INFO] [stderr] Checking nybbles v0.4.7 [INFO] [stderr] Checking arrow-array v54.3.1 [INFO] [stderr] Checking alloy-json-abi v1.5.2 [INFO] [stderr] Checking alloy-eip7928 v0.3.2 [INFO] [stderr] Checking alloy-eip2930 v0.2.3 [INFO] [stderr] Checking alloy-eip7702 v0.6.3 [INFO] [stderr] Checking alloy-serde v1.5.2 [INFO] [stderr] Checking alloy-eip2124 v0.2.0 [INFO] [stderr] Checking alloy-trie v0.9.3 [INFO] [stderr] Checking alloy-signer v1.5.2 [INFO] [stderr] Checking alloy-chains v0.2.30 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Compiling alloy-sol-macro-input v1.5.2 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Compiling serde_with_macros v3.16.1 [INFO] [stderr] Compiling alloy-tx-macros v1.5.2 [INFO] [stderr] Compiling alloy-sol-macro-expander v1.5.2 [INFO] [stderr] Checking serde_with v3.16.1 [INFO] [stderr] Checking arrow-select v54.3.1 [INFO] [stderr] Checking arrow-arith v54.3.1 [INFO] [stderr] Checking arrow-ipc v54.3.1 [INFO] [stderr] Checking arrow-row v54.3.1 [INFO] [stderr] Checking arrow-cast v54.3.1 [INFO] [stderr] Checking arrow-string v54.3.1 [INFO] [stderr] Checking arrow-ord v54.3.1 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking interprocess v2.2.3 [INFO] [stderr] Checking deadpool-runtime v0.1.4 [INFO] [stderr] Checking arrow v54.3.1 [INFO] [stderr] Checking parquet v54.3.1 [INFO] [stderr] Checking deadpool v0.12.3 [INFO] [stderr] Compiling alloy-sol-macro v1.5.2 [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Checking alloy-eips v1.5.2 [INFO] [stderr] Checking alloy-rpc-types-debug v1.5.2 [INFO] [stderr] Checking h2 v0.4.13 [INFO] [stderr] Checking tokio-stream v0.1.18 [INFO] [stderr] Checking tokio-postgres v0.7.16 [INFO] [stderr] Checking alloy-sol-types v1.5.2 [INFO] [stderr] Checking tokio-test v0.4.5 [INFO] [stderr] Checking alloy-consensus v1.5.2 [INFO] [stderr] Checking deadpool-postgres v0.14.1 [INFO] [stderr] Checking alloy-json-rpc v1.5.2 [INFO] [stderr] Checking alloy-dyn-abi v1.5.2 [INFO] [stderr] Checking alloy-transport v1.5.2 [INFO] [stderr] Checking alloy-core v1.5.2 [INFO] [stderr] Checking rustls-webpki v0.103.9 [INFO] [stderr] Checking alloy-pubsub v1.5.2 [INFO] [stderr] Checking alloy-consensus-any v1.5.2 [INFO] [stderr] Checking alloy-network-primitives v1.5.2 [INFO] [stderr] Checking alloy-transport-ipc v1.5.2 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking alloy-rpc-types-eth v1.5.2 [INFO] [stderr] Checking hyper-util v0.1.19 [INFO] [stderr] Checking alloy-rpc-types-any v1.5.2 [INFO] [stderr] Checking alloy-rpc-types-txpool v1.5.2 [INFO] [stderr] Checking alloy-rpc-types-anvil v1.5.2 [INFO] [stderr] Checking alloy-rpc-types-trace v1.5.2 [INFO] [stderr] Checking alloy-network v1.5.2 [INFO] [stderr] Checking alloy-signer-local v1.5.2 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking tungstenite v0.26.2 [INFO] [stderr] Checking hyper-rustls v0.27.7 [INFO] [stderr] Checking tokio-tungstenite v0.26.2 [INFO] [stderr] Checking reqwest v0.12.28 [INFO] [stderr] Checking metrics-exporter-prometheus v0.16.2 [INFO] [stderr] Checking alloy-transport-ws v1.5.2 [INFO] [stderr] Checking alloy-rpc-types v1.5.2 [INFO] [stderr] Checking alloy-transport-http v1.5.2 [INFO] [stderr] Checking object_store v0.11.2 [INFO] [stderr] Checking alloy-rpc-client v1.5.2 [INFO] [stderr] Checking alloy-provider v1.5.2 [INFO] [stderr] Checking alloy-contract v1.5.2 [INFO] [stderr] Checking alloy v1.5.2 [INFO] [stderr] Checking doppler-indexer-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: fields `decode_catchup_done_tx` and `decode_catchup_done_rx` are never read [INFO] [stdout] --> src/runtime.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 178 | pub struct CommonChannels { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 198 | pub decode_catchup_done_tx: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 199 | pub decode_catchup_done_rx: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `build_for_full` is never used [INFO] [stdout] --> src/runtime.rs:268:12 [INFO] [stdout] | [INFO] [stdout] 202 | impl CommonChannels { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn build_for_full( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/transformations/util/db/pool.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Beneficiary { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 24 | pub fn new(beneficiary: [u8; 20], shares: u64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `decode_catchup_done_tx` and `decode_catchup_done_rx` are never read [INFO] [stdout] --> src/runtime.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 178 | pub struct CommonChannels { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 198 | pub decode_catchup_done_tx: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 199 | pub decode_catchup_done_rx: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `build_for_full` is never used [INFO] [stdout] --> src/runtime.rs:268:12 [INFO] [stdout] | [INFO] [stdout] 202 | impl CommonChannels { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn build_for_full( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/transformations/util/db/pool.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Beneficiary { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 24 | pub fn new(beneficiary: [u8; 20], shares: u64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/decoding/catchup/logs.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / pub async fn catchup_decode_logs( [INFO] [stdout] 23 | | raw_logs_dir: &Path, [INFO] [stdout] 24 | | output_base: &Path, [INFO] [stdout] 25 | | _range_size: u64, [INFO] [stdout] ... | [INFO] [stdout] 31 | | recollect_tx: Option<&Sender>, [INFO] [stdout] 32 | | ) -> Result<(), LogDecodingError> { [INFO] [stdout] | |_________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/decoding/catchup/logs.rs:88:27 [INFO] [stdout] | [INFO] [stdout] 88 | let files_to_process: Vec<(u64, u64, PathBuf, Vec, HashMap>)> = raw_files [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/decoding/catchup/logs.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / pub async fn catchup_decode_logs( [INFO] [stdout] 23 | | raw_logs_dir: &Path, [INFO] [stdout] 24 | | output_base: &Path, [INFO] [stdout] 25 | | _range_size: u64, [INFO] [stdout] ... | [INFO] [stdout] 31 | | recollect_tx: Option<&Sender>, [INFO] [stdout] 32 | | ) -> Result<(), LogDecodingError> { [INFO] [stdout] | |_________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/decoding/catchup/logs.rs:88:27 [INFO] [stdout] | [INFO] [stdout] 88 | let files_to_process: Vec<(u64, u64, PathBuf, Vec, HashMap>)> = raw_files [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/decoding/catchup/logs.rs:313:6 [INFO] [stdout] | [INFO] [stdout] 313 | ) -> Result>>, LogDecodingError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> src/decoding/catchup/logs.rs:392:9 [INFO] [stdout] | [INFO] [stdout] 392 | if let Some(col_idx) = batch.schema().index_of("factory_address").ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(col_idx)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 392 - if let Some(col_idx) = batch.schema().index_of("factory_address").ok() { [INFO] [stdout] 392 + if let Ok(col_idx) = batch.schema().index_of("factory_address") { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> src/decoding/current/eth_calls.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / pub async fn decode_eth_calls_live( [INFO] [stdout] 32 | | mut decoder_rx: Receiver, [INFO] [stdout] 33 | | raw_calls_dir: &Path, [INFO] [stdout] 34 | | output_base: &Path, [INFO] [stdout] ... | [INFO] [stdout] 42 | | transform_retry_tx: Option<&Sender>, [INFO] [stdout] 43 | | ) -> Result<(), EthCallDecodingError> { [INFO] [stdout] | |_____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/decoding/catchup/logs.rs:313:6 [INFO] [stdout] | [INFO] [stdout] 313 | ) -> Result>>, LogDecodingError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> src/decoding/catchup/logs.rs:392:9 [INFO] [stdout] | [INFO] [stdout] 392 | if let Some(col_idx) = batch.schema().index_of("factory_address").ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(col_idx)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 392 - if let Some(col_idx) = batch.schema().index_of("factory_address").ok() { [INFO] [stdout] 392 + if let Ok(col_idx) = batch.schema().index_of("factory_address") { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> src/decoding/current/eth_calls.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / pub async fn decode_eth_calls_live( [INFO] [stdout] 32 | | mut decoder_rx: Receiver, [INFO] [stdout] 33 | | raw_calls_dir: &Path, [INFO] [stdout] 34 | | output_base: &Path, [INFO] [stdout] ... | [INFO] [stdout] 42 | | transform_retry_tx: Option<&Sender>, [INFO] [stdout] 43 | | ) -> Result<(), EthCallDecodingError> { [INFO] [stdout] | |_____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/decoding/current/eth_calls.rs:617:5 [INFO] [stdout] | [INFO] [stdout] 617 | / fn spawn_live_decoder( [INFO] [stdout] 618 | | decoder_rx: mpsc::Receiver, [INFO] [stdout] 619 | | temp: TempDir, [INFO] [stdout] 620 | | chain_name: String, [INFO] [stdout] ... | [INFO] [stdout] 626 | | retry_tx: Option>, [INFO] [stdout] 627 | | ) -> tokio::task::JoinHandle> { [INFO] [stdout] | |______________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/decoding/eth_calls/column_index.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | / std::io::Error::new( [INFO] [stdout] 154 | | std::io::ErrorKind::Other, [INFO] [stdout] 155 | | format!("JSON serialize error: {}", e), [INFO] [stdout] 156 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 153 ~ std::io::Error::other( [INFO] [stdout] 154 ~ format!("JSON serialize error: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/decoding/eth_calls/column_index.rs:400:5 [INFO] [stdout] | [INFO] [stdout] 400 | /// Excludes standard columns like block_number, block_timestamp, address. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 400 | /// Excludes standard columns like block_number, block_timestamp, address. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/decoding/eth_calls/column_index.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | / std::io::Error::new( [INFO] [stdout] 154 | | std::io::ErrorKind::Other, [INFO] [stdout] 155 | | format!("JSON serialize error: {}", e), [INFO] [stdout] 156 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 153 ~ std::io::Error::other( [INFO] [stdout] 154 ~ format!("JSON serialize error: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/decoding/eth_calls/column_index.rs:400:5 [INFO] [stdout] | [INFO] [stdout] 400 | /// Excludes standard columns like block_number, block_timestamp, address. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 400 | /// Excludes standard columns like block_number, block_timestamp, address. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/decoding/eth_calls/parquet_io.rs:485:59 [INFO] [stdout] | [INFO] [stdout] 485 | ... builder.values().append_value(&[0u8; 20])?; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `[0u8; 20]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/decoding/eth_calls/parquet_io.rs:485:59 [INFO] [stdout] | [INFO] [stdout] 485 | ... builder.values().append_value(&[0u8; 20])?; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `[0u8; 20]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/decoding/eth_calls/parquet_io.rs:1812:32 [INFO] [stdout] | [INFO] [stdout] 1812 | let mut col_config_lookup: HashMap)> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `fields` [INFO] [stdout] --> src/decoding/eth_calls/parquet_io.rs:1829:14 [INFO] [stdout] | [INFO] [stdout] 1829 | for i in 0..existing_batch.num_columns() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1829 - for i in 0..existing_batch.num_columns() { [INFO] [stdout] 1829 + for (i, ) in fields.iter_mut().enumerate().take(existing_batch.num_columns()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/decoding/eth_calls/parquet_io.rs:1957:25 [INFO] [stdout] | [INFO] [stdout] 1957 | &format!("{}.{}", config.function_name, field_name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}.{}", config.function_name, field_name)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/decoding/eth_calls/parquet_io.rs:1967:21 [INFO] [stdout] | [INFO] [stdout] 1967 | &format!("{}", config.function_name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}", config.function_name)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/decoding/eth_calls/parquet_io.rs:1967:22 [INFO] [stdout] | [INFO] [stdout] 1967 | &format!("{}", config.function_name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `config.function_name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/decoding/eth_calls/parquet_io.rs:1812:32 [INFO] [stdout] | [INFO] [stdout] 1812 | let mut col_config_lookup: HashMap)> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/decoding/eth_calls/parquet_io.rs:2314:59 [INFO] [stdout] | [INFO] [stdout] 2314 | ... builder.values().append_value(&[0u8; 20])?; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `[0u8; 20]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `fields` [INFO] [stdout] --> src/decoding/eth_calls/parquet_io.rs:1829:14 [INFO] [stdout] | [INFO] [stdout] 1829 | for i in 0..existing_batch.num_columns() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1829 - for i in 0..existing_batch.num_columns() { [INFO] [stdout] 1829 + for (i, ) in fields.iter_mut().enumerate().take(existing_batch.num_columns()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/decoding/eth_calls/parquet_io.rs:1957:25 [INFO] [stdout] | [INFO] [stdout] 1957 | &format!("{}.{}", config.function_name, field_name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}.{}", config.function_name, field_name)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/decoding/eth_calls/parquet_io.rs:1967:21 [INFO] [stdout] | [INFO] [stdout] 1967 | &format!("{}", config.function_name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}", config.function_name)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/decoding/eth_calls/parquet_io.rs:1967:22 [INFO] [stdout] | [INFO] [stdout] 1967 | &format!("{}", config.function_name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `config.function_name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/decoding/eth_calls/parquet_io.rs:2314:59 [INFO] [stdout] | [INFO] [stdout] 2314 | ... builder.values().append_value(&[0u8; 20])?; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `[0u8; 20]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/decoding/eth_calls/process.rs:166:1 [INFO] [stdout] | [INFO] [stdout] 166 | / pub async fn process_once_calls( [INFO] [stdout] 167 | | results: &[OnceCallResult], [INFO] [stdout] 168 | | range_start: u64, [INFO] [stdout] 169 | | range_end: u64, [INFO] [stdout] ... | [INFO] [stdout] 174 | | return_index_info: bool, [INFO] [stdout] 175 | | ) -> Result, EthCallDecodingError> { [INFO] [stdout] | |__________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/decoding/eth_calls/process.rs:166:1 [INFO] [stdout] | [INFO] [stdout] 166 | / pub async fn process_once_calls( [INFO] [stdout] 167 | | results: &[OnceCallResult], [INFO] [stdout] 168 | | range_start: u64, [INFO] [stdout] 169 | | range_end: u64, [INFO] [stdout] ... | [INFO] [stdout] 174 | | return_index_info: bool, [INFO] [stdout] 175 | | ) -> Result, EthCallDecodingError> { [INFO] [stdout] | |__________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/decoding/eth_calls/mod.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / pub async fn decode_eth_calls( [INFO] [stdout] 31 | | chain: &ChainConfig, [INFO] [stdout] 32 | | raw_data_config: &RawDataCollectionConfig, [INFO] [stdout] 33 | | decoder_rx: Receiver, [INFO] [stdout] ... | [INFO] [stdout] 39 | | skip_catchup: bool, [INFO] [stdout] 40 | | ) -> Result<(), EthCallDecodingError> { [INFO] [stdout] | |_____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/decoding/event_parsing.rs:391:6 [INFO] [stdout] | [INFO] [stdout] 391 | ) -> Result<(Vec<(String, TupleFieldInfo)>, Vec), EventParseError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/decoding/eth_calls/mod.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / pub async fn decode_eth_calls( [INFO] [stdout] 31 | | chain: &ChainConfig, [INFO] [stdout] 32 | | raw_data_config: &RawDataCollectionConfig, [INFO] [stdout] 33 | | decoder_rx: Receiver, [INFO] [stdout] ... | [INFO] [stdout] 39 | | skip_catchup: bool, [INFO] [stdout] 40 | | ) -> Result<(), EthCallDecodingError> { [INFO] [stdout] | |_____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/decoding/logs.rs:174:6 [INFO] [stdout] | [INFO] [stdout] 174 | ) -> Result<(Vec, HashMap>), LogDecodingError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/decoding/logs.rs:250:1 [INFO] [stdout] | [INFO] [stdout] 250 | / pub(crate) async fn process_logs( [INFO] [stdout] 251 | | logs: &[LogData], [INFO] [stdout] 252 | | range_start: u64, [INFO] [stdout] 253 | | range_end: u64, [INFO] [stdout] ... | [INFO] [stdout] 259 | | complete_tx: Option<&Sender>, [INFO] [stdout] 260 | | ) -> Result<(), LogDecodingError> { [INFO] [stdout] | |_________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/decoding/event_parsing.rs:391:6 [INFO] [stdout] | [INFO] [stdout] 391 | ) -> Result<(Vec<(String, TupleFieldInfo)>, Vec), EventParseError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/decoding/logs.rs:373:26 [INFO] [stdout] | [INFO] [stdout] 373 | for (_, matchers) in factory_matchers { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 373 - for (_, matchers) in factory_matchers { [INFO] [stdout] 373 + for matchers in factory_matchers.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/decoding/logs.rs:1060:1 [INFO] [stdout] | [INFO] [stdout] 1060 | / pub(crate) async fn process_logs_live( [INFO] [stdout] 1061 | | logs: &[LogData], [INFO] [stdout] 1062 | | block_number: u64, [INFO] [stdout] 1063 | | regular_matchers: &[EventMatcher], [INFO] [stdout] ... | [INFO] [stdout] 1068 | | complete_tx: Option<&Sender>, [INFO] [stdout] 1069 | | ) -> Result<(), LogDecodingError> { [INFO] [stdout] | |_________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/decoding/logs.rs:174:6 [INFO] [stdout] | [INFO] [stdout] 174 | ) -> Result<(Vec, HashMap>), LogDecodingError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/decoding/logs.rs:250:1 [INFO] [stdout] | [INFO] [stdout] 250 | / pub(crate) async fn process_logs( [INFO] [stdout] 251 | | logs: &[LogData], [INFO] [stdout] 252 | | range_start: u64, [INFO] [stdout] 253 | | range_end: u64, [INFO] [stdout] ... | [INFO] [stdout] 259 | | complete_tx: Option<&Sender>, [INFO] [stdout] 260 | | ) -> Result<(), LogDecodingError> { [INFO] [stdout] | |_________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/decoding/logs.rs:373:26 [INFO] [stdout] | [INFO] [stdout] 373 | for (_, matchers) in factory_matchers { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 373 - for (_, matchers) in factory_matchers { [INFO] [stdout] 373 + for matchers in factory_matchers.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/decoding/logs.rs:1060:1 [INFO] [stdout] | [INFO] [stdout] 1060 | / pub(crate) async fn process_logs_live( [INFO] [stdout] 1061 | | logs: &[LogData], [INFO] [stdout] 1062 | | block_number: u64, [INFO] [stdout] 1063 | | regular_matchers: &[EventMatcher], [INFO] [stdout] ... | [INFO] [stdout] 1068 | | complete_tx: Option<&Sender>, [INFO] [stdout] 1069 | | ) -> Result<(), LogDecodingError> { [INFO] [stdout] | |_________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/live/collector.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | / pub fn new( [INFO] [stdout] 84 | | chain: Arc, [INFO] [stdout] 85 | | http_client: Arc, [INFO] [stdout] 86 | | config: LiveModeConfig, [INFO] [stdout] ... | [INFO] [stdout] 92 | | transform_retry_tx: Option>, [INFO] [stdout] 93 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/live/catchup.rs:697:9 [INFO] [stdout] | [INFO] [stdout] 697 | status.collected = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `live::types::LiveBlockStatus { collected: true, block_fetched: true, receipts_collected: true, logs_collected: true, factories_extracted: true, eth_calls_collected: true, logs_decoded: true, eth_calls_decoded: true, transformed: true, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/live/catchup.rs:696:9 [INFO] [stdout] | [INFO] [stdout] 696 | let mut status = LiveBlockStatus::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/live/catchup.rs:739:9 [INFO] [stdout] | [INFO] [stdout] 739 | status.collected = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `live::types::LiveBlockStatus { collected: true, block_fetched: true, receipts_collected: true, logs_collected: true, factories_extracted: true, eth_calls_collected: true, logs_decoded: false, eth_calls_decoded: true, transformed: false, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/live/catchup.rs:738:9 [INFO] [stdout] | [INFO] [stdout] 738 | let mut status = LiveBlockStatus::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/live/catchup.rs:781:9 [INFO] [stdout] | [INFO] [stdout] 781 | status.collected = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `live::types::LiveBlockStatus { collected: true, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/live/catchup.rs:780:9 [INFO] [stdout] | [INFO] [stdout] 780 | let mut status = LiveBlockStatus::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/live/catchup.rs:820:9 [INFO] [stdout] | [INFO] [stdout] 820 | status.collected = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `live::types::LiveBlockStatus { collected: true, block_fetched: true, receipts_collected: true, logs_collected: true, factories_extracted: true, logs_decoded: true, eth_calls_decoded: false, transformed: false, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/live/catchup.rs:819:9 [INFO] [stdout] | [INFO] [stdout] 819 | let mut status = LiveBlockStatus::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/live/catchup.rs:871:9 [INFO] [stdout] | [INFO] [stdout] 871 | status.collected = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `live::types::LiveBlockStatus { collected: true, block_fetched: true, receipts_collected: true, logs_collected: true, factories_extracted: true, logs_decoded: false, eth_calls_decoded: false, transformed: false, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/live/catchup.rs:870:9 [INFO] [stdout] | [INFO] [stdout] 870 | let mut status = LiveBlockStatus::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/live/catchup.rs:922:9 [INFO] [stdout] | [INFO] [stdout] 922 | status.collected = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `live::types::LiveBlockStatus { collected: true, block_fetched: true, receipts_collected: true, logs_collected: true, factories_extracted: true, eth_calls_collected: true, logs_decoded: true, eth_calls_decoded: false, transformed: false, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/live/catchup.rs:921:9 [INFO] [stdout] | [INFO] [stdout] 921 | let mut status = LiveBlockStatus::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/live/catchup.rs:972:9 [INFO] [stdout] | [INFO] [stdout] 972 | status.collected = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `live::types::LiveBlockStatus { collected: true, block_fetched: true, receipts_collected: true, logs_collected: true, factories_extracted: true, eth_calls_collected: true, logs_decoded: true, eth_calls_decoded: true, transformed: false, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/live/catchup.rs:971:9 [INFO] [stdout] | [INFO] [stdout] 971 | let mut status = LiveBlockStatus::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/live/collector.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | / pub fn new( [INFO] [stdout] 84 | | chain: Arc, [INFO] [stdout] 85 | | http_client: Arc, [INFO] [stdout] 86 | | config: LiveModeConfig, [INFO] [stdout] ... | [INFO] [stdout] 92 | | transform_retry_tx: Option>, [INFO] [stdout] 93 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:620:36 [INFO] [stdout] | [INFO] [stdout] 620 | addresses.append_value(&call.contract_address)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `call.contract_address` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:674:39 [INFO] [stdout] | [INFO] [stdout] 674 | block_hashes.append_value(&block.hash); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `block.hash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:675:40 [INFO] [stdout] | [INFO] [stdout] 675 | parent_hashes.append_value(&block.parent_hash); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `block.parent_hash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:741:36 [INFO] [stdout] | [INFO] [stdout] 741 | tx_hashes.append_value(&log.transaction_hash)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `log.transaction_hash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:742:36 [INFO] [stdout] | [INFO] [stdout] 742 | addresses.append_value(&log.address); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `log.address` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/live/compaction.rs:745:16 [INFO] [stdout] | [INFO] [stdout] 745 | if log.topics.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!log.topics.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:746:38 [INFO] [stdout] | [INFO] [stdout] 746 | topic0s.append_value(&log.topics[0]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `log.topics[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:751:38 [INFO] [stdout] | [INFO] [stdout] 751 | topic1s.append_value(&log.topics[1]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `log.topics[1]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:756:38 [INFO] [stdout] | [INFO] [stdout] 756 | topic2s.append_value(&log.topics[2]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `log.topics[2]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:761:38 [INFO] [stdout] | [INFO] [stdout] 761 | topic3s.append_value(&log.topics[3]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `log.topics[3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/live/eth_calls.rs:580:32 [INFO] [stdout] | [INFO] [stdout] 580 | let mut grouped_calls: HashMap< [INFO] [stdout] | ________________________________^ [INFO] [stdout] 581 | | (String, String), [INFO] [stdout] 582 | | Vec<(Address, u32, Bytes, &EventTriggeredCallConfig)>, [INFO] [stdout] 583 | | > = HashMap::new(); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/live/eth_calls.rs:746:13 [INFO] [stdout] | [INFO] [stdout] 746 | params: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 746 - params: &Vec, [INFO] [stdout] 746 + params: &[crate::types::config::eth_call::ParamConfig], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/live/storage.rs:332:26 [INFO] [stdout] | [INFO] [stdout] 332 | .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e))? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 332 - .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e))? [INFO] [stdout] 332 + .map_err(|e| std::io::Error::other(e))? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/live/storage.rs:380:43 [INFO] [stdout] | [INFO] [stdout] 380 | .map_err(|e| StorageError::Io(std::io::Error::new(std::io::ErrorKind::Other, e)))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 380 - .map_err(|e| StorageError::Io(std::io::Error::new(std::io::ErrorKind::Other, e)))?; [INFO] [stdout] 380 + .map_err(|e| StorageError::Io(std::io::Error::other(e)))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/live/storage.rs:405:30 [INFO] [stdout] | [INFO] [stdout] 405 | .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e))? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 405 - .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e))? [INFO] [stdout] 405 + .map_err(|e| std::io::Error::other(e))? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/live/storage.rs:822:22 [INFO] [stdout] | [INFO] [stdout] 822 | .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e))? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 822 - .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e))? [INFO] [stdout] 822 + .map_err(|e| std::io::Error::other(e))? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/live/storage.rs:857:5 [INFO] [stdout] | [INFO] [stdout] 857 | / path.file_name() [INFO] [stdout] 858 | | .and_then(|n| n.to_str()) [INFO] [stdout] 859 | | .map_or(false, |name| name.contains(".tmp.")) [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 859 - .map_or(false, |name| name.contains(".tmp.")) [INFO] [stdout] 859 + .is_some_and(|name| name.contains(".tmp.")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:620:36 [INFO] [stdout] | [INFO] [stdout] 620 | addresses.append_value(&call.contract_address)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `call.contract_address` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:674:39 [INFO] [stdout] | [INFO] [stdout] 674 | block_hashes.append_value(&block.hash); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `block.hash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:675:40 [INFO] [stdout] | [INFO] [stdout] 675 | parent_hashes.append_value(&block.parent_hash); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `block.parent_hash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:741:36 [INFO] [stdout] | [INFO] [stdout] 741 | tx_hashes.append_value(&log.transaction_hash)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `log.transaction_hash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:742:36 [INFO] [stdout] | [INFO] [stdout] 742 | addresses.append_value(&log.address); [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `log.address` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/live/compaction.rs:745:16 [INFO] [stdout] | [INFO] [stdout] 745 | if log.topics.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!log.topics.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:746:38 [INFO] [stdout] | [INFO] [stdout] 746 | topic0s.append_value(&log.topics[0]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `log.topics[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:751:38 [INFO] [stdout] | [INFO] [stdout] 751 | topic1s.append_value(&log.topics[1]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `log.topics[1]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:756:38 [INFO] [stdout] | [INFO] [stdout] 756 | topic2s.append_value(&log.topics[2]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `log.topics[2]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/live/compaction.rs:761:38 [INFO] [stdout] | [INFO] [stdout] 761 | topic3s.append_value(&log.topics[3]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `log.topics[3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/live/compaction.rs:1083:13 [INFO] [stdout] | [INFO] [stdout] 1083 | status.collected = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `live::types::LiveBlockStatus { collected: true, block_fetched: true, receipts_collected: true, logs_collected: true, factories_extracted: true, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/live/compaction.rs:1082:13 [INFO] [stdout] | [INFO] [stdout] 1082 | let mut status = LiveBlockStatus::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/live/compaction.rs:1160:9 [INFO] [stdout] | [INFO] [stdout] 1160 | status.collected = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `live::types::LiveBlockStatus { collected: true, block_fetched: true, receipts_collected: true, logs_collected: true, factories_extracted: true, logs_decoded: true, eth_calls_decoded: false, transformed: false, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/live/compaction.rs:1159:9 [INFO] [stdout] | [INFO] [stdout] 1159 | let mut status = LiveBlockStatus::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/live/compaction.rs:1218:9 [INFO] [stdout] | [INFO] [stdout] 1218 | status.collected = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `live::types::LiveBlockStatus { collected: true, block_fetched: true, receipts_collected: true, logs_collected: true, factories_extracted: true, logs_decoded: true, eth_calls_decoded: true, transformed: false, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/live/compaction.rs:1217:9 [INFO] [stdout] | [INFO] [stdout] 1217 | let mut status = LiveBlockStatus::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/live/eth_calls.rs:580:32 [INFO] [stdout] | [INFO] [stdout] 580 | let mut grouped_calls: HashMap< [INFO] [stdout] | ________________________________^ [INFO] [stdout] 581 | | (String, String), [INFO] [stdout] 582 | | Vec<(Address, u32, Bytes, &EventTriggeredCallConfig)>, [INFO] [stdout] 583 | | > = HashMap::new(); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/live/eth_calls.rs:746:13 [INFO] [stdout] | [INFO] [stdout] 746 | params: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 746 - params: &Vec, [INFO] [stdout] 746 + params: &[crate::types::config::eth_call::ParamConfig], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/raw_data/historical/blocks.rs:490:18 [INFO] [stdout] | [INFO] [stdout] 490 | .map_err(|e| BlockCollectionError::Parquet(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `BlockCollectionError::Parquet` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/raw_data/historical/catchup/blocks.rs:111:42 [INFO] [stdout] | [INFO] [stdout] 111 | BlockCollectionError::Io(std::io::Error::new( [INFO] [stdout] | __________________________________________^ [INFO] [stdout] 112 | | std::io::ErrorKind::Other, [INFO] [stdout] 113 | | e.to_string(), [INFO] [stdout] 114 | | )) [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 111 ~ BlockCollectionError::Io(std::io::Error::other( [INFO] [stdout] 112 ~ e.to_string(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/live/storage.rs:332:26 [INFO] [stdout] | [INFO] [stdout] 332 | .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e))? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 332 - .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e))? [INFO] [stdout] 332 + .map_err(|e| std::io::Error::other(e))? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/raw_data/historical/catchup/eth_calls.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | / pub async fn collect_eth_calls( [INFO] [stdout] 33 | | chain: &ChainConfig, [INFO] [stdout] 34 | | client: &UnifiedRpcClient, [INFO] [stdout] 35 | | raw_data_config: &RawDataCollectionConfig, [INFO] [stdout] ... | [INFO] [stdout] 42 | | storage_manager: Option>, [INFO] [stdout] 43 | | ) -> Result { [INFO] [stdout] | |________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/live/storage.rs:380:43 [INFO] [stdout] | [INFO] [stdout] 380 | .map_err(|e| StorageError::Io(std::io::Error::new(std::io::ErrorKind::Other, e)))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 380 - .map_err(|e| StorageError::Io(std::io::Error::new(std::io::ErrorKind::Other, e)))?; [INFO] [stdout] 380 + .map_err(|e| StorageError::Io(std::io::Error::other(e)))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/live/storage.rs:405:30 [INFO] [stdout] | [INFO] [stdout] 405 | .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e))? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 405 - .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e))? [INFO] [stdout] 405 + .map_err(|e| std::io::Error::other(e))? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/live/storage.rs:822:22 [INFO] [stdout] | [INFO] [stdout] 822 | .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e))? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 822 - .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e))? [INFO] [stdout] 822 + .map_err(|e| std::io::Error::other(e))? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/live/storage.rs:857:5 [INFO] [stdout] | [INFO] [stdout] 857 | / path.file_name() [INFO] [stdout] 858 | | .and_then(|n| n.to_str()) [INFO] [stdout] 859 | | .map_or(false, |name| name.contains(".tmp.")) [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 859 - .map_or(false, |name| name.contains(".tmp.")) [INFO] [stdout] 859 + .is_some_and(|name| name.contains(".tmp.")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/live/storage.rs:940:9 [INFO] [stdout] | [INFO] [stdout] 940 | status.collected = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `live::types::LiveBlockStatus { collected: true, block_fetched: true, receipts_collected: true, logs_collected: false, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/live/storage.rs:939:9 [INFO] [stdout] | [INFO] [stdout] 939 | let mut status = LiveBlockStatus::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/catchup/eth_calls.rs:627:33 [INFO] [stdout] | [INFO] [stdout] 627 | for (_, configs) in &event_call_configs { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 627 - for (_, configs) in &event_call_configs { [INFO] [stdout] 627 + for configs in event_call_configs.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/raw_data/historical/catchup/factories.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / pub async fn collect_factories( [INFO] [stdout] 23 | | chain: &ChainConfig, [INFO] [stdout] 24 | | raw_data_config: &RawDataCollectionConfig, [INFO] [stdout] 25 | | logs_factory_tx: &Option>, [INFO] [stdout] ... | [INFO] [stdout] 32 | | storage_manager: Option>, [INFO] [stdout] 33 | | ) -> Result { [INFO] [stdout] | |________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/catchup/factories.rs:155:24 [INFO] [stdout] | [INFO] [stdout] 155 | || s3_manifest.as_ref().as_ref().map_or(false, |m| { [INFO] [stdout] | ________________________^ [INFO] [stdout] 156 | | m.has_factories(collection, log_range.start, log_range.end - 1) [INFO] [stdout] 157 | | }) [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 155 - || s3_manifest.as_ref().as_ref().map_or(false, |m| { [INFO] [stdout] 155 + || s3_manifest.as_ref().as_ref().is_some_and(|m| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/raw_data/historical/catchup/receipts.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / pub async fn collect_receipts( [INFO] [stdout] 32 | | chain: &ChainConfig, [INFO] [stdout] 33 | | client: &UnifiedRpcClient, [INFO] [stdout] 34 | | raw_data_config: &RawDataCollectionConfig, [INFO] [stdout] ... | [INFO] [stdout] 40 | | storage_manager: Option>, [INFO] [stdout] 41 | | ) -> Result { [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/catchup/receipts.rs:85:16 [INFO] [stdout] | [INFO] [stdout] 85 | || s3_manifest [INFO] [stdout] | ________________^ [INFO] [stdout] 86 | | .as_ref() [INFO] [stdout] 87 | | .map_or(false, |m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] | |__________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 87 - .map_or(false, |m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] 87 + .is_some_and(|m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/catchup/receipts.rs:90:16 [INFO] [stdout] | [INFO] [stdout] 90 | || s3_manifest [INFO] [stdout] | ________________^ [INFO] [stdout] 91 | | .as_ref() [INFO] [stdout] 92 | | .map_or(false, |m| m.has_raw_logs(range.start, range.end - 1)); [INFO] [stdout] | |______________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 92 - .map_or(false, |m| m.has_raw_logs(range.start, range.end - 1)); [INFO] [stdout] 92 + .is_some_and(|m| m.has_raw_logs(range.start, range.end - 1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/raw_data/historical/current/eth_calls.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / pub async fn collect_eth_calls( [INFO] [stdout] 21 | | chain: &ChainConfig, [INFO] [stdout] 22 | | client: &UnifiedRpcClient, [INFO] [stdout] 23 | | mut block_rx: Receiver<(u64, u64)>, [INFO] [stdout] ... | [INFO] [stdout] 28 | | storage_manager: Option>, [INFO] [stdout] 29 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/current/eth_calls.rs:68:52 [INFO] [stdout] | [INFO] [stdout] 68 | ... for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 68 - for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] 68 + for addrs in factory_data.addresses_by_block.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/current/eth_calls.rs:509:48 [INFO] [stdout] | [INFO] [stdout] 509 | for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 509 - for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] 509 + for addrs in factory_data.addresses_by_block.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/raw_data/historical/current/factories.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | / pub async fn collect_factories( [INFO] [stdout] 18 | | chain: &ChainConfig, [INFO] [stdout] 19 | | raw_data_config: &RawDataCollectionConfig, [INFO] [stdout] 20 | | mut log_rx: Receiver, [INFO] [stdout] ... | [INFO] [stdout] 29 | | storage_manager: Option>, [INFO] [stdout] 30 | | ) -> Result<(), FactoryCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> src/raw_data/historical/current/receipts.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / pub async fn collect_receipts( [INFO] [stdout] 23 | | chain: &ChainConfig, [INFO] [stdout] 24 | | client: &UnifiedRpcClient, [INFO] [stdout] 25 | | raw_data_config: &RawDataCollectionConfig, [INFO] [stdout] ... | [INFO] [stdout] 33 | | storage_manager: Option>, [INFO] [stdout] 34 | | ) -> Result<(), ReceiptCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/current/receipts.rs:107:44 [INFO] [stdout] | [INFO] [stdout] 107 | let exists_in_s3 = s3_manifest [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 108 | | .as_ref() [INFO] [stdout] 109 | | .map_or(false, |m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] | |______________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 109 - .map_or(false, |m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] 109 + .is_some_and(|m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/raw_data/historical/blocks.rs:490:18 [INFO] [stdout] | [INFO] [stdout] 490 | .map_err(|e| BlockCollectionError::Parquet(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `BlockCollectionError::Parquet` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/raw_data/historical/current/receipts.rs:327:73 [INFO] [stdout] | [INFO] [stdout] 327 | ... .map_err(|e| ReceiptCollectionError::Io(std::io::Error::new(std::io::ErrorKind::Other, e.to_string())))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 327 - .map_err(|e| ReceiptCollectionError::Io(std::io::Error::new(std::io::ErrorKind::Other, e.to_string())))?; [INFO] [stdout] 327 + .map_err(|e| ReceiptCollectionError::Io(std::io::Error::other(e.to_string())))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/current/receipts.rs:464:28 [INFO] [stdout] | [INFO] [stdout] 464 | let exists_in_s3 = s3_manifest [INFO] [stdout] | ____________________________^ [INFO] [stdout] 465 | | .as_ref() [INFO] [stdout] 466 | | .map_or(false, |m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] | |______________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 466 - .map_or(false, |m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] 466 + .is_some_and(|m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/raw_data/historical/catchup/blocks.rs:111:42 [INFO] [stdout] | [INFO] [stdout] 111 | BlockCollectionError::Io(std::io::Error::new( [INFO] [stdout] | __________________________________________^ [INFO] [stdout] 112 | | std::io::ErrorKind::Other, [INFO] [stdout] 113 | | e.to_string(), [INFO] [stdout] 114 | | )) [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 111 ~ BlockCollectionError::Io(std::io::Error::other( [INFO] [stdout] 112 ~ e.to_string(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/raw_data/historical/current/receipts.rs:601:44 [INFO] [stdout] | [INFO] [stdout] 601 | ReceiptCollectionError::Io(std::io::Error::new( [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 602 | | std::io::ErrorKind::Other, [INFO] [stdout] 603 | | e.to_string(), [INFO] [stdout] 604 | | )) [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 601 ~ ReceiptCollectionError::Io(std::io::Error::other( [INFO] [stdout] 602 ~ e.to_string(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/config.rs:21:6 [INFO] [stdout] | [INFO] [stdout] 21 | ) -> Result)>>, ParamError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/raw_data/historical/catchup/eth_calls.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | / pub async fn collect_eth_calls( [INFO] [stdout] 33 | | chain: &ChainConfig, [INFO] [stdout] 34 | | client: &UnifiedRpcClient, [INFO] [stdout] 35 | | raw_data_config: &RawDataCollectionConfig, [INFO] [stdout] ... | [INFO] [stdout] 42 | | storage_manager: Option>, [INFO] [stdout] 43 | | ) -> Result { [INFO] [stdout] | |________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/event_triggers.rs:488:1 [INFO] [stdout] | [INFO] [stdout] 488 | / pub(crate) async fn process_event_triggers( [INFO] [stdout] 489 | | triggers: Vec, [INFO] [stdout] 490 | | event_call_configs: &HashMap>, [INFO] [stdout] 491 | | factory_addresses: &HashMap>, [INFO] [stdout] ... | [INFO] [stdout] 499 | | storage_manager: Option<&Arc>, [INFO] [stdout] 500 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/event_triggers.rs:525:30 [INFO] [stdout] | [INFO] [stdout] 525 | let mut calls_by_output: HashMap< [INFO] [stdout] | ______________________________^ [INFO] [stdout] 526 | | (String, String), [INFO] [stdout] 527 | | Vec<( [INFO] [stdout] 528 | | EventTriggerData, [INFO] [stdout] ... | [INFO] [stdout] 533 | | )>, [INFO] [stdout] 534 | | > = HashMap::new(); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/event_triggers.rs:641:32 [INFO] [stdout] | [INFO] [stdout] 641 | let mut pending_calls: Vec<( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 642 | | TransactionRequest, [INFO] [stdout] 643 | | BlockId, [INFO] [stdout] 644 | | &EventTriggerData, [INFO] [stdout] 645 | | Address, [INFO] [stdout] 646 | | Vec>, [INFO] [stdout] 647 | | )> = Vec::new(); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/event_triggers.rs:675:27 [INFO] [stdout] | [INFO] [stdout] 675 | let owned_chunks: Vec< [INFO] [stdout] | ___________________________^ [INFO] [stdout] 676 | | Vec<( [INFO] [stdout] 677 | | TransactionRequest, [INFO] [stdout] 678 | | BlockId, [INFO] [stdout] ... | [INFO] [stdout] 682 | | )>, [INFO] [stdout] 683 | | > = pending_calls [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/catchup/eth_calls.rs:627:33 [INFO] [stdout] | [INFO] [stdout] 627 | for (_, configs) in &event_call_configs { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 627 - for (_, configs) in &event_call_configs { [INFO] [stdout] 627 + for configs in event_call_configs.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/event_triggers.rs:867:1 [INFO] [stdout] | [INFO] [stdout] 867 | / pub(crate) async fn process_event_triggers_multicall( [INFO] [stdout] 868 | | triggers: Vec, [INFO] [stdout] 869 | | event_call_configs: &HashMap>, [INFO] [stdout] 870 | | factory_addresses: &HashMap>, [INFO] [stdout] ... | [INFO] [stdout] 879 | | storage_manager: Option<&Arc>, [INFO] [stdout] 880 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/event_triggers.rs:906:30 [INFO] [stdout] | [INFO] [stdout] 906 | let mut calls_by_output: HashMap< [INFO] [stdout] | ______________________________^ [INFO] [stdout] 907 | | (String, String), [INFO] [stdout] 908 | | Vec<( [INFO] [stdout] 909 | | EventTriggerData, [INFO] [stdout] ... | [INFO] [stdout] 914 | | )>, [INFO] [stdout] 915 | | > = HashMap::new(); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/raw_data/historical/catchup/factories.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / pub async fn collect_factories( [INFO] [stdout] 23 | | chain: &ChainConfig, [INFO] [stdout] 24 | | raw_data_config: &RawDataCollectionConfig, [INFO] [stdout] 25 | | logs_factory_tx: &Option>, [INFO] [stdout] ... | [INFO] [stdout] 32 | | storage_manager: Option>, [INFO] [stdout] 33 | | ) -> Result { [INFO] [stdout] | |________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/catchup/factories.rs:155:24 [INFO] [stdout] | [INFO] [stdout] 155 | || s3_manifest.as_ref().as_ref().map_or(false, |m| { [INFO] [stdout] | ________________________^ [INFO] [stdout] 156 | | m.has_factories(collection, log_range.start, log_range.end - 1) [INFO] [stdout] 157 | | }) [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 155 - || s3_manifest.as_ref().as_ref().map_or(false, |m| { [INFO] [stdout] 155 + || s3_manifest.as_ref().as_ref().is_some_and(|m| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/raw_data/historical/eth_calls/event_triggers.rs:1258:32 [INFO] [stdout] | [INFO] [stdout] 1258 | fields.push(Field::new(&format!("param_{}", i), DataType::Binary, true)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("param_{}", i)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (13/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | / pub(crate) async fn process_factory_range( [INFO] [stdout] 45 | | range: &BlockRange, [INFO] [stdout] 46 | | blocks: &[BlockInfo], [INFO] [stdout] 47 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 57 | | storage_manager: Option<&Arc>, [INFO] [stdout] 58 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:60:28 [INFO] [stdout] | [INFO] [stdout] 60 | for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 60 - for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] 60 + for addrs in factory_data.addresses_by_block.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:339:1 [INFO] [stdout] | [INFO] [stdout] 339 | / pub(crate) async fn process_factory_range_multicall( [INFO] [stdout] 340 | | range: &BlockRange, [INFO] [stdout] 341 | | blocks: &[BlockInfo], [INFO] [stdout] 342 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 353 | | storage_manager: Option<&Arc>, [INFO] [stdout] 354 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:357:28 [INFO] [stdout] | [INFO] [stdout] 357 | for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 357 - for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] 357 + for addrs in factory_data.addresses_by_block.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/raw_data/historical/catchup/receipts.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / pub async fn collect_receipts( [INFO] [stdout] 32 | | chain: &ChainConfig, [INFO] [stdout] 33 | | client: &UnifiedRpcClient, [INFO] [stdout] 34 | | raw_data_config: &RawDataCollectionConfig, [INFO] [stdout] ... | [INFO] [stdout] 40 | | storage_manager: Option>, [INFO] [stdout] 41 | | ) -> Result { [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/catchup/receipts.rs:85:16 [INFO] [stdout] | [INFO] [stdout] 85 | || s3_manifest [INFO] [stdout] | ________________^ [INFO] [stdout] 86 | | .as_ref() [INFO] [stdout] 87 | | .map_or(false, |m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] | |__________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 87 - .map_or(false, |m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] 87 + .is_some_and(|m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/catchup/receipts.rs:90:16 [INFO] [stdout] | [INFO] [stdout] 90 | || s3_manifest [INFO] [stdout] | ________________^ [INFO] [stdout] 91 | | .as_ref() [INFO] [stdout] 92 | | .map_or(false, |m| m.has_raw_logs(range.start, range.end - 1)); [INFO] [stdout] | |______________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 92 - .map_or(false, |m| m.has_raw_logs(range.start, range.end - 1)); [INFO] [stdout] 92 + .is_some_and(|m| m.has_raw_logs(range.start, range.end - 1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:659:1 [INFO] [stdout] | [INFO] [stdout] 659 | / pub(crate) async fn process_once_calls_regular( [INFO] [stdout] 660 | | range: &BlockRange, [INFO] [stdout] 661 | | blocks: &[BlockInfo], [INFO] [stdout] 662 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 669 | | storage_manager: Option<&Arc>, [INFO] [stdout] 670 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/raw_data/historical/current/eth_calls.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / pub async fn collect_eth_calls( [INFO] [stdout] 21 | | chain: &ChainConfig, [INFO] [stdout] 22 | | client: &UnifiedRpcClient, [INFO] [stdout] 23 | | mut block_rx: Receiver<(u64, u64)>, [INFO] [stdout] ... | [INFO] [stdout] 28 | | storage_manager: Option>, [INFO] [stdout] 29 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/current/eth_calls.rs:68:52 [INFO] [stdout] | [INFO] [stdout] 68 | ... for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 68 - for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] 68 + for addrs in factory_data.addresses_by_block.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:1019:1 [INFO] [stdout] | [INFO] [stdout] 1019 | / pub(crate) async fn process_factory_once_calls( [INFO] [stdout] 1020 | | range: &BlockRange, [INFO] [stdout] 1021 | | client: &UnifiedRpcClient, [INFO] [stdout] 1022 | | factory_data: &FactoryAddressData, [INFO] [stdout] ... | [INFO] [stdout] 1029 | | storage_manager: Option<&Arc>, [INFO] [stdout] 1030 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:1244:33 [INFO] [stdout] | [INFO] [stdout] 1244 | let results_by_address: HashMap>)> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:1253:38 [INFO] [stdout] | [INFO] [stdout] 1253 | let mut results_map: HashMap>)> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/current/eth_calls.rs:509:48 [INFO] [stdout] | [INFO] [stdout] 509 | for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 509 - for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] 509 + for addrs in factory_data.addresses_by_block.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:1501:1 [INFO] [stdout] | [INFO] [stdout] 1501 | / pub(crate) async fn process_once_calls_multicall( [INFO] [stdout] 1502 | | range: &BlockRange, [INFO] [stdout] 1503 | | blocks: &[BlockInfo], [INFO] [stdout] 1504 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 1513 | | storage_manager: Option<&Arc>, [INFO] [stdout] 1514 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:1522:35 [INFO] [stdout] | [INFO] [stdout] 1522 | let mut contracts_to_process: Vec<( [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 1523 | | String, [INFO] [stdout] 1524 | | Vec, [INFO] [stdout] 1525 | | Vec, [INFO] [stdout] ... | [INFO] [stdout] 1528 | | bool, [INFO] [stdout] 1529 | | )> = Vec::new(); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/raw_data/historical/current/factories.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | / pub async fn collect_factories( [INFO] [stdout] 18 | | chain: &ChainConfig, [INFO] [stdout] 19 | | raw_data_config: &RawDataCollectionConfig, [INFO] [stdout] 20 | | mut log_rx: Receiver, [INFO] [stdout] ... | [INFO] [stdout] 29 | | storage_manager: Option>, [INFO] [stdout] 30 | | ) -> Result<(), FactoryCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:1855:1 [INFO] [stdout] | [INFO] [stdout] 1855 | / pub(crate) async fn process_factory_once_calls_multicall( [INFO] [stdout] 1856 | | range: &BlockRange, [INFO] [stdout] 1857 | | client: &UnifiedRpcClient, [INFO] [stdout] 1858 | | factory_data: &FactoryAddressData, [INFO] [stdout] ... | [INFO] [stdout] 1867 | | storage_manager: Option<&Arc>, [INFO] [stdout] 1868 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:1881:37 [INFO] [stdout] | [INFO] [stdout] 1881 | let mut collections_to_process: Vec<( [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 1882 | | String, [INFO] [stdout] 1883 | | Vec, [INFO] [stdout] 1884 | | Vec, [INFO] [stdout] ... | [INFO] [stdout] 1888 | | Vec, [INFO] [stdout] 1889 | | )> = Vec::new(); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:2087:36 [INFO] [stdout] | [INFO] [stdout] 2087 | let mut results_by_collection: HashMap< [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 2088 | | String, [INFO] [stdout] 2089 | | HashMap>)>, [INFO] [stdout] 2090 | | > = HashMap::new(); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (13/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:2380:1 [INFO] [stdout] | [INFO] [stdout] 2380 | / pub(crate) async fn process_range( [INFO] [stdout] 2381 | | range: &BlockRange, [INFO] [stdout] 2382 | | blocks: Vec, [INFO] [stdout] 2383 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 2393 | | storage_manager: Option<&Arc>, [INFO] [stdout] 2394 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:2408:16 [INFO] [stdout] | [INFO] [stdout] 2408 | || s3_manifest.as_ref().map_or(false, |m| { [INFO] [stdout] | ________________^ [INFO] [stdout] 2409 | | m.has_raw_eth_calls_granular( [INFO] [stdout] 2410 | | contract_name, [INFO] [stdout] 2411 | | function_name, [INFO] [stdout] ... | [INFO] [stdout] 2415 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 2408 - || s3_manifest.as_ref().map_or(false, |m| { [INFO] [stdout] 2408 + || s3_manifest.as_ref().is_some_and(|m| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> src/raw_data/historical/current/receipts.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / pub async fn collect_receipts( [INFO] [stdout] 23 | | chain: &ChainConfig, [INFO] [stdout] 24 | | client: &UnifiedRpcClient, [INFO] [stdout] 25 | | raw_data_config: &RawDataCollectionConfig, [INFO] [stdout] ... | [INFO] [stdout] 33 | | storage_manager: Option>, [INFO] [stdout] 34 | | ) -> Result<(), ReceiptCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/current/receipts.rs:107:44 [INFO] [stdout] | [INFO] [stdout] 107 | let exists_in_s3 = s3_manifest [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 108 | | .as_ref() [INFO] [stdout] 109 | | .map_or(false, |m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] | |______________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 109 - .map_or(false, |m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] 109 + .is_some_and(|m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:2630:1 [INFO] [stdout] | [INFO] [stdout] 2630 | / pub(crate) async fn process_range_multicall( [INFO] [stdout] 2631 | | range: &BlockRange, [INFO] [stdout] 2632 | | blocks: Vec, [INFO] [stdout] 2633 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 2644 | | storage_manager: Option<&Arc>, [INFO] [stdout] 2645 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:2671:16 [INFO] [stdout] | [INFO] [stdout] 2671 | || s3_manifest.as_ref().map_or(false, |m| { [INFO] [stdout] | ________________^ [INFO] [stdout] 2672 | | m.has_raw_eth_calls_granular( [INFO] [stdout] 2673 | | contract_name, [INFO] [stdout] 2674 | | function_name, [INFO] [stdout] ... | [INFO] [stdout] 2678 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 2671 - || s3_manifest.as_ref().map_or(false, |m| { [INFO] [stdout] 2671 + || s3_manifest.as_ref().is_some_and(|m| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/raw_data/historical/current/receipts.rs:327:73 [INFO] [stdout] | [INFO] [stdout] 327 | ... .map_err(|e| ReceiptCollectionError::Io(std::io::Error::new(std::io::ErrorKind::Other, e.to_string())))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 327 - .map_err(|e| ReceiptCollectionError::Io(std::io::Error::new(std::io::ErrorKind::Other, e.to_string())))?; [INFO] [stdout] 327 + .map_err(|e| ReceiptCollectionError::Io(std::io::Error::other(e.to_string())))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/current/receipts.rs:464:28 [INFO] [stdout] | [INFO] [stdout] 464 | let exists_in_s3 = s3_manifest [INFO] [stdout] | ____________________________^ [INFO] [stdout] 465 | | .as_ref() [INFO] [stdout] 466 | | .map_or(false, |m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] | |______________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 466 - .map_or(false, |m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] 466 + .is_some_and(|m| m.has_raw_receipts(range.start, range.end - 1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/raw_data/historical/current/receipts.rs:601:44 [INFO] [stdout] | [INFO] [stdout] 601 | ReceiptCollectionError::Io(std::io::Error::new( [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 602 | | std::io::ErrorKind::Other, [INFO] [stdout] 603 | | e.to_string(), [INFO] [stdout] 604 | | )) [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 601 ~ ReceiptCollectionError::Io(std::io::Error::other( [INFO] [stdout] 602 ~ e.to_string(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:3251:1 [INFO] [stdout] | [INFO] [stdout] 3251 | / pub(crate) async fn process_token_range_multicall( [INFO] [stdout] 3252 | | range: &BlockRange, [INFO] [stdout] 3253 | | blocks: Vec, [INFO] [stdout] 3254 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 3263 | | storage_manager: Option<&Arc>, [INFO] [stdout] 3264 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/config.rs:21:6 [INFO] [stdout] | [INFO] [stdout] 21 | ) -> Result)>>, ParamError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:3560:1 [INFO] [stdout] | [INFO] [stdout] 3560 | / pub(crate) async fn process_token_range( [INFO] [stdout] 3561 | | range: &BlockRange, [INFO] [stdout] 3562 | | blocks: Vec, [INFO] [stdout] 3563 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 3571 | | storage_manager: Option<&Arc>, [INFO] [stdout] 3572 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/raw_data/historical/eth_calls/factory.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | storage_manager.map(|sm| sm.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `storage_manager.cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/raw_data/historical/eth_calls/factory.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | storage_manager.map(|sm| sm.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `storage_manager.cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/event_triggers.rs:488:1 [INFO] [stdout] | [INFO] [stdout] 488 | / pub(crate) async fn process_event_triggers( [INFO] [stdout] 489 | | triggers: Vec, [INFO] [stdout] 490 | | event_call_configs: &HashMap>, [INFO] [stdout] 491 | | factory_addresses: &HashMap>, [INFO] [stdout] ... | [INFO] [stdout] 499 | | storage_manager: Option<&Arc>, [INFO] [stdout] 500 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/event_triggers.rs:525:30 [INFO] [stdout] | [INFO] [stdout] 525 | let mut calls_by_output: HashMap< [INFO] [stdout] | ______________________________^ [INFO] [stdout] 526 | | (String, String), [INFO] [stdout] 527 | | Vec<( [INFO] [stdout] 528 | | EventTriggerData, [INFO] [stdout] ... | [INFO] [stdout] 533 | | )>, [INFO] [stdout] 534 | | > = HashMap::new(); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/event_triggers.rs:641:32 [INFO] [stdout] | [INFO] [stdout] 641 | let mut pending_calls: Vec<( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 642 | | TransactionRequest, [INFO] [stdout] 643 | | BlockId, [INFO] [stdout] 644 | | &EventTriggerData, [INFO] [stdout] 645 | | Address, [INFO] [stdout] 646 | | Vec>, [INFO] [stdout] 647 | | )> = Vec::new(); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/event_triggers.rs:675:27 [INFO] [stdout] | [INFO] [stdout] 675 | let owned_chunks: Vec< [INFO] [stdout] | ___________________________^ [INFO] [stdout] 676 | | Vec<( [INFO] [stdout] 677 | | TransactionRequest, [INFO] [stdout] 678 | | BlockId, [INFO] [stdout] ... | [INFO] [stdout] 682 | | )>, [INFO] [stdout] 683 | | > = pending_calls [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> src/raw_data/historical/eth_calls/factory.rs:410:9 [INFO] [stdout] | [INFO] [stdout] 410 | if let Some(col_idx) = batch.schema().index_of("factory_address").ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] help: consider matching on `Ok(col_idx)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 410 - if let Some(col_idx) = batch.schema().index_of("factory_address").ok() { [INFO] [stdout] 410 + if let Ok(col_idx) = batch.schema().index_of("factory_address") { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/raw_data/historical/eth_calls/factory.rs:537:18 [INFO] [stdout] | [INFO] [stdout] 537 | .map_err(|e| EthCallCollectionError::Parquet(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `EthCallCollectionError::Parquet` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/event_triggers.rs:867:1 [INFO] [stdout] | [INFO] [stdout] 867 | / pub(crate) async fn process_event_triggers_multicall( [INFO] [stdout] 868 | | triggers: Vec, [INFO] [stdout] 869 | | event_call_configs: &HashMap>, [INFO] [stdout] 870 | | factory_addresses: &HashMap>, [INFO] [stdout] ... | [INFO] [stdout] 879 | | storage_manager: Option<&Arc>, [INFO] [stdout] 880 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/event_triggers.rs:906:30 [INFO] [stdout] | [INFO] [stdout] 906 | let mut calls_by_output: HashMap< [INFO] [stdout] | ______________________________^ [INFO] [stdout] 907 | | (String, String), [INFO] [stdout] 908 | | Vec<( [INFO] [stdout] 909 | | EventTriggerData, [INFO] [stdout] ... | [INFO] [stdout] 914 | | )>, [INFO] [stdout] 915 | | > = HashMap::new(); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/raw_data/historical/eth_calls/parquet_io.rs:73:32 [INFO] [stdout] | [INFO] [stdout] 73 | fields.push(Field::new(&format!("param_{}", i), DataType::Binary, true)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("param_{}", i)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/raw_data/historical/eth_calls/parquet_io.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | &format!("{}_result", fn_name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}_result", fn_name)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/raw_data/historical/eth_calls/parquet_io.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | / std::io::Error::new( [INFO] [stdout] 187 | | std::io::ErrorKind::Other, [INFO] [stdout] 188 | | format!("JSON serialize error: {}", e), [INFO] [stdout] 189 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 186 ~ std::io::Error::other( [INFO] [stdout] 187 ~ format!("JSON serialize error: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/raw_data/historical/eth_calls/event_triggers.rs:1258:32 [INFO] [stdout] | [INFO] [stdout] 1258 | fields.push(Field::new(&format!("param_{}", i), DataType::Binary, true)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("param_{}", i)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (13/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | / pub(crate) async fn process_factory_range( [INFO] [stdout] 45 | | range: &BlockRange, [INFO] [stdout] 46 | | blocks: &[BlockInfo], [INFO] [stdout] 47 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 57 | | storage_manager: Option<&Arc>, [INFO] [stdout] 58 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:60:28 [INFO] [stdout] | [INFO] [stdout] 60 | for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 60 - for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] 60 + for addrs in factory_data.addresses_by_block.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:339:1 [INFO] [stdout] | [INFO] [stdout] 339 | / pub(crate) async fn process_factory_range_multicall( [INFO] [stdout] 340 | | range: &BlockRange, [INFO] [stdout] 341 | | blocks: &[BlockInfo], [INFO] [stdout] 342 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 353 | | storage_manager: Option<&Arc>, [INFO] [stdout] 354 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:357:28 [INFO] [stdout] | [INFO] [stdout] 357 | for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 357 - for (_block, addrs) in &factory_data.addresses_by_block { [INFO] [stdout] 357 + for addrs in factory_data.addresses_by_block.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/raw_data/historical/eth_calls/parquet_io.rs:592:13 [INFO] [stdout] | [INFO] [stdout] 592 | &format!("{}_result", fn_name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}_result", fn_name)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:659:1 [INFO] [stdout] | [INFO] [stdout] 659 | / pub(crate) async fn process_once_calls_regular( [INFO] [stdout] 660 | | range: &BlockRange, [INFO] [stdout] 661 | | blocks: &[BlockInfo], [INFO] [stdout] 662 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 669 | | storage_manager: Option<&Arc>, [INFO] [stdout] 670 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/raw_data/historical/factories.rs:198:1 [INFO] [stdout] | [INFO] [stdout] 198 | / pub(crate) async fn process_range( [INFO] [stdout] 199 | | range_start: u64, [INFO] [stdout] 200 | | range_end: u64, [INFO] [stdout] 201 | | logs: Vec, [INFO] [stdout] ... | [INFO] [stdout] 207 | | chain_name: &str, [INFO] [stdout] 208 | | ) -> Result { [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/raw_data/historical/factories.rs:240:55 [INFO] [stdout] | [INFO] [stdout] 240 | ... topic0 = %hex::encode(&log.topics.first().map(|t| t.as_slice()).unwrap_or(&[])), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `log.topics.first().map(|t| t.as_slice()).unwrap_or(&[])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/raw_data/historical/factories.rs:326:1 [INFO] [stdout] | [INFO] [stdout] 326 | / pub(crate) async fn process_range_batches( [INFO] [stdout] 327 | | range_start: u64, [INFO] [stdout] 328 | | range_end: u64, [INFO] [stdout] 329 | | batches: Vec, [INFO] [stdout] ... | [INFO] [stdout] 335 | | chain_name: &str, [INFO] [stdout] 336 | | ) -> Result { [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/raw_data/historical/factories.rs:483:1 [INFO] [stdout] | [INFO] [stdout] 483 | / async fn write_factory_parquet_files( [INFO] [stdout] 484 | | range_start: u64, [INFO] [stdout] 485 | | range_end: u64, [INFO] [stdout] 486 | | records: Vec, [INFO] [stdout] ... | [INFO] [stdout] 492 | | chain_name: &str, [INFO] [stdout] 493 | | ) -> Result<(), FactoryCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/factories.rs:509:16 [INFO] [stdout] | [INFO] [stdout] 509 | || s3_manifest.map_or(false, |m| { [INFO] [stdout] | ________________^ [INFO] [stdout] 510 | | m.has_factories(&collection_name, range_start, range_end - 1) [INFO] [stdout] 511 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 509 - || s3_manifest.map_or(false, |m| { [INFO] [stdout] 509 + || s3_manifest.is_some_and(|m| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:1019:1 [INFO] [stdout] | [INFO] [stdout] 1019 | / pub(crate) async fn process_factory_once_calls( [INFO] [stdout] 1020 | | range: &BlockRange, [INFO] [stdout] 1021 | | client: &UnifiedRpcClient, [INFO] [stdout] 1022 | | factory_data: &FactoryAddressData, [INFO] [stdout] ... | [INFO] [stdout] 1029 | | storage_manager: Option<&Arc>, [INFO] [stdout] 1030 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/factories.rs:563:21 [INFO] [stdout] | [INFO] [stdout] 563 | && !s3_manifest.map_or(false, |m| { [INFO] [stdout] | _____________________^ [INFO] [stdout] 564 | | m.has_factories(collection_name, range_start, range_end - 1) [INFO] [stdout] 565 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 563 - && !s3_manifest.map_or(false, |m| { [INFO] [stdout] 563 + && !s3_manifest.is_some_and(|m| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:1244:33 [INFO] [stdout] | [INFO] [stdout] 1244 | let results_by_address: HashMap>)> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:1253:38 [INFO] [stdout] | [INFO] [stdout] 1253 | let mut results_map: HashMap>)> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/factories.rs:870:26 [INFO] [stdout] | [INFO] [stdout] 870 | for (_, contract) in contracts { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 870 - for (_, contract) in contracts { [INFO] [stdout] 870 + for contract in contracts.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/factories.rs:899:26 [INFO] [stdout] | [INFO] [stdout] 899 | for (_, contract) in contracts { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 899 - for (_, contract) in contracts { [INFO] [stdout] 899 + for contract in contracts.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> src/raw_data/historical/logs.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | / pub(crate) async fn process_completed_range( [INFO] [stdout] 87 | | range_start: u64, [INFO] [stdout] 88 | | range_end: u64, [INFO] [stdout] 89 | | range_data: &mut HashMap>, [INFO] [stdout] ... | [INFO] [stdout] 100 | | chain_name: &str, [INFO] [stdout] 101 | | ) -> Result<(), LogCollectionError> { [INFO] [stdout] | |___________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:1501:1 [INFO] [stdout] | [INFO] [stdout] 1501 | / pub(crate) async fn process_once_calls_multicall( [INFO] [stdout] 1502 | | range: &BlockRange, [INFO] [stdout] 1503 | | blocks: &[BlockInfo], [INFO] [stdout] 1504 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 1513 | | storage_manager: Option<&Arc>, [INFO] [stdout] 1514 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/logs.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | if s3_manifest.map_or(false, |m| m.has_raw_logs(range.start, range.end - 1)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 121 - if s3_manifest.map_or(false, |m| m.has_raw_logs(range.start, range.end - 1)) { [INFO] [stdout] 121 + if s3_manifest.is_some_and(|m| m.has_raw_logs(range.start, range.end - 1)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:1522:35 [INFO] [stdout] | [INFO] [stdout] 1522 | let mut contracts_to_process: Vec<( [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 1523 | | String, [INFO] [stdout] 1524 | | Vec, [INFO] [stdout] 1525 | | Vec, [INFO] [stdout] ... | [INFO] [stdout] 1528 | | bool, [INFO] [stdout] 1529 | | )> = Vec::new(); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression can be written more simply using `.retain()` [INFO] [stdout] --> src/raw_data/historical/logs.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | / logs = logs [INFO] [stdout] 140 | | .into_iter() [INFO] [stdout] 141 | | .filter(|log| { [INFO] [stdout] 142 | | configured_addresses.contains(&log.address) || factory_addrs.contains(&log.address) [INFO] [stdout] 143 | | }) [INFO] [stdout] 144 | | .collect(); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_retain [INFO] [stdout] = note: `#[warn(clippy::manual_retain)]` on by default [INFO] [stdout] help: consider calling `.retain()` instead [INFO] [stdout] | [INFO] [stdout] 139 ~ logs.retain(|log| { [INFO] [stdout] 140 + configured_addresses.contains(&log.address) || factory_addrs.contains(&log.address) [INFO] [stdout] 141 ~ }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/logs.rs:180:26 [INFO] [stdout] | [INFO] [stdout] 180 | for (_, contract) in contracts { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 180 - for (_, contract) in contracts { [INFO] [stdout] 180 + for contract in contracts.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:1855:1 [INFO] [stdout] | [INFO] [stdout] 1855 | / pub(crate) async fn process_factory_once_calls_multicall( [INFO] [stdout] 1856 | | range: &BlockRange, [INFO] [stdout] 1857 | | client: &UnifiedRpcClient, [INFO] [stdout] 1858 | | factory_data: &FactoryAddressData, [INFO] [stdout] ... | [INFO] [stdout] 1867 | | storage_manager: Option<&Arc>, [INFO] [stdout] 1868 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:1881:37 [INFO] [stdout] | [INFO] [stdout] 1881 | let mut collections_to_process: Vec<( [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 1882 | | String, [INFO] [stdout] 1883 | | Vec, [INFO] [stdout] 1884 | | Vec, [INFO] [stdout] ... | [INFO] [stdout] 1888 | | Vec, [INFO] [stdout] 1889 | | )> = Vec::new(); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:2087:36 [INFO] [stdout] | [INFO] [stdout] 2087 | let mut results_by_collection: HashMap< [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 2088 | | String, [INFO] [stdout] 2089 | | HashMap>)>, [INFO] [stdout] 2090 | | > = HashMap::new(); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/receipts.rs:147:39 [INFO] [stdout] | [INFO] [stdout] 147 | for (_contract_name, contract) in contracts { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 147 - for (_contract_name, contract) in contracts { [INFO] [stdout] 147 + for contract in contracts.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/receipts.rs:226:26 [INFO] [stdout] | [INFO] [stdout] 226 | for (_, contract) in contracts { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 226 - for (_, contract) in contracts { [INFO] [stdout] 226 + for contract in contracts.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (13/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:2380:1 [INFO] [stdout] | [INFO] [stdout] 2380 | / pub(crate) async fn process_range( [INFO] [stdout] 2381 | | range: &BlockRange, [INFO] [stdout] 2382 | | blocks: Vec, [INFO] [stdout] 2383 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 2393 | | storage_manager: Option<&Arc>, [INFO] [stdout] 2394 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/raw_data/historical/receipts.rs:448:1 [INFO] [stdout] | [INFO] [stdout] 448 | / pub(crate) async fn send_logs_to_channels( [INFO] [stdout] 449 | | batch_logs: Vec, [INFO] [stdout] 450 | | log_tx: &Option>, [INFO] [stdout] 451 | | factory_log_tx: &Option>, [INFO] [stdout] ... | [INFO] [stdout] 456 | | total_channel_send_time: &mut std::time::Duration, [INFO] [stdout] 457 | | ) -> Result<(), ReceiptCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:2408:16 [INFO] [stdout] | [INFO] [stdout] 2408 | || s3_manifest.as_ref().map_or(false, |m| { [INFO] [stdout] | ________________^ [INFO] [stdout] 2409 | | m.has_raw_eth_calls_granular( [INFO] [stdout] 2410 | | contract_name, [INFO] [stdout] 2411 | | function_name, [INFO] [stdout] ... | [INFO] [stdout] 2415 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 2408 - || s3_manifest.as_ref().map_or(false, |m| { [INFO] [stdout] 2408 + || s3_manifest.as_ref().is_some_and(|m| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/raw_data/historical/receipts.rs:569:55 [INFO] [stdout] | [INFO] [stdout] 569 | for (block, receipts) in batch.iter().zip(all_receipts.into_iter()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:629:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 569 - for (block, receipts) in batch.iter().zip(all_receipts.into_iter()) { [INFO] [stdout] 569 + for (block, receipts) in batch.iter().zip(all_receipts) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (19/7) [INFO] [stdout] --> src/raw_data/historical/receipts.rs:633:1 [INFO] [stdout] | [INFO] [stdout] 633 | / pub(crate) async fn process_range( [INFO] [stdout] 634 | | range: &BlockRange, [INFO] [stdout] 635 | | blocks: Vec, [INFO] [stdout] 636 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 652 | | chain_name: &str, [INFO] [stdout] 653 | | ) -> Result<(), ReceiptCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:2630:1 [INFO] [stdout] | [INFO] [stdout] 2630 | / pub(crate) async fn process_range_multicall( [INFO] [stdout] 2631 | | range: &BlockRange, [INFO] [stdout] 2632 | | blocks: Vec, [INFO] [stdout] 2633 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 2644 | | storage_manager: Option<&Arc>, [INFO] [stdout] 2645 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/raw_data/historical/receipts.rs:693:17 [INFO] [stdout] | [INFO] [stdout] 693 | (total_blocks + block_receipt_concurrency - 1) / block_receipt_concurrency, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `total_blocks.div_ceil(block_receipt_concurrency)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:2671:16 [INFO] [stdout] | [INFO] [stdout] 2671 | || s3_manifest.as_ref().map_or(false, |m| { [INFO] [stdout] | ________________^ [INFO] [stdout] 2672 | | m.has_raw_eth_calls_granular( [INFO] [stdout] 2673 | | contract_name, [INFO] [stdout] 2674 | | function_name, [INFO] [stdout] ... | [INFO] [stdout] 2678 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 2671 - || s3_manifest.as_ref().map_or(false, |m| { [INFO] [stdout] 2671 + || s3_manifest.as_ref().is_some_and(|m| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/raw_data/historical/receipts.rs:729:55 [INFO] [stdout] | [INFO] [stdout] 729 | for (block, receipts) in batch.iter().zip(all_receipts.into_iter()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:629:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 729 - for (block, receipts) in batch.iter().zip(all_receipts.into_iter()) { [INFO] [stdout] 729 + for (block, receipts) in batch.iter().zip(all_receipts) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/raw_data/historical/receipts.rs:821:29 [INFO] [stdout] | [INFO] [stdout] 821 | let total_batches = (total_txs + rpc_batch_size - 1) / rpc_batch_size; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `total_txs.div_ceil(rpc_batch_size)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/raw_data/historical/receipts.rs:975:40 [INFO] [stdout] | [INFO] [stdout] 975 | ReceiptCollectionError::Io(std::io::Error::new( [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 976 | | std::io::ErrorKind::Other, [INFO] [stdout] 977 | | e.to_string(), [INFO] [stdout] 978 | | )) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 975 ~ ReceiptCollectionError::Io(std::io::Error::other( [INFO] [stdout] 976 ~ e.to_string(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/raw_data/historical/receipts.rs:1035:13 [INFO] [stdout] | [INFO] [stdout] 1035 | &receipt.inner.logs(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `receipt.inner.logs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/raw_data/historical/receipts.rs:1071:22 [INFO] [stdout] | [INFO] [stdout] 1071 | extract_logs(&logs, block_number, timestamp, tx_hash, all_logs); [INFO] [stdout] | ^^^^^ help: change this to: `logs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/raw_data/historical/receipts.rs:1081:23 [INFO] [stdout] | [INFO] [stdout] 1081 | gas_used: receipt.gas_used as u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `receipt.gas_used` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:3251:1 [INFO] [stdout] | [INFO] [stdout] 3251 | / pub(crate) async fn process_token_range_multicall( [INFO] [stdout] 3252 | | range: &BlockRange, [INFO] [stdout] 3253 | | blocks: Vec, [INFO] [stdout] 3254 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 3263 | | storage_manager: Option<&Arc>, [INFO] [stdout] 3264 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> src/raw_data/historical/eth_calls/execution.rs:3560:1 [INFO] [stdout] | [INFO] [stdout] 3560 | / pub(crate) async fn process_token_range( [INFO] [stdout] 3561 | | range: &BlockRange, [INFO] [stdout] 3562 | | blocks: Vec, [INFO] [stdout] 3563 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 3571 | | storage_manager: Option<&Arc>, [INFO] [stdout] 3572 | | ) -> Result<(), EthCallCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/raw_data/historical/eth_calls/factory.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | storage_manager.map(|sm| sm.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `storage_manager.cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/raw_data/historical/eth_calls/factory.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | storage_manager.map(|sm| sm.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `storage_manager.cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/rpc/mod.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | mod rpc; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> src/raw_data/historical/eth_calls/factory.rs:410:9 [INFO] [stdout] | [INFO] [stdout] 410 | if let Some(col_idx) = batch.schema().index_of("factory_address").ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] help: consider matching on `Ok(col_idx)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 410 - if let Some(col_idx) = batch.schema().index_of("factory_address").ok() { [INFO] [stdout] 410 + if let Ok(col_idx) = batch.schema().index_of("factory_address") { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/raw_data/historical/eth_calls/factory.rs:537:18 [INFO] [stdout] | [INFO] [stdout] 537 | .map_err(|e| EthCallCollectionError::Parquet(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `EthCallCollectionError::Parquet` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/raw_data/historical/eth_calls/parquet_io.rs:73:32 [INFO] [stdout] | [INFO] [stdout] 73 | fields.push(Field::new(&format!("param_{}", i), DataType::Binary, true)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("param_{}", i)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/raw_data/historical/eth_calls/parquet_io.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | &format!("{}_result", fn_name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}_result", fn_name)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/raw_data/historical/eth_calls/parquet_io.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | / std::io::Error::new( [INFO] [stdout] 187 | | std::io::ErrorKind::Other, [INFO] [stdout] 188 | | format!("JSON serialize error: {}", e), [INFO] [stdout] 189 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 186 ~ std::io::Error::other( [INFO] [stdout] 187 ~ format!("JSON serialize error: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/raw_data/historical/eth_calls/parquet_io.rs:592:13 [INFO] [stdout] | [INFO] [stdout] 592 | &format!("{}_result", fn_name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}_result", fn_name)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/raw_data/historical/factories.rs:198:1 [INFO] [stdout] | [INFO] [stdout] 198 | / pub(crate) async fn process_range( [INFO] [stdout] 199 | | range_start: u64, [INFO] [stdout] 200 | | range_end: u64, [INFO] [stdout] 201 | | logs: Vec, [INFO] [stdout] ... | [INFO] [stdout] 207 | | chain_name: &str, [INFO] [stdout] 208 | | ) -> Result { [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/raw_data/historical/factories.rs:240:55 [INFO] [stdout] | [INFO] [stdout] 240 | ... topic0 = %hex::encode(&log.topics.first().map(|t| t.as_slice()).unwrap_or(&[])), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `log.topics.first().map(|t| t.as_slice()).unwrap_or(&[])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/raw_data/historical/factories.rs:326:1 [INFO] [stdout] | [INFO] [stdout] 326 | / pub(crate) async fn process_range_batches( [INFO] [stdout] 327 | | range_start: u64, [INFO] [stdout] 328 | | range_end: u64, [INFO] [stdout] 329 | | batches: Vec, [INFO] [stdout] ... | [INFO] [stdout] 335 | | chain_name: &str, [INFO] [stdout] 336 | | ) -> Result { [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/raw_data/historical/factories.rs:483:1 [INFO] [stdout] | [INFO] [stdout] 483 | / async fn write_factory_parquet_files( [INFO] [stdout] 484 | | range_start: u64, [INFO] [stdout] 485 | | range_end: u64, [INFO] [stdout] 486 | | records: Vec, [INFO] [stdout] ... | [INFO] [stdout] 492 | | chain_name: &str, [INFO] [stdout] 493 | | ) -> Result<(), FactoryCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/factories.rs:509:16 [INFO] [stdout] | [INFO] [stdout] 509 | || s3_manifest.map_or(false, |m| { [INFO] [stdout] | ________________^ [INFO] [stdout] 510 | | m.has_factories(&collection_name, range_start, range_end - 1) [INFO] [stdout] 511 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 509 - || s3_manifest.map_or(false, |m| { [INFO] [stdout] 509 + || s3_manifest.is_some_and(|m| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/factories.rs:563:21 [INFO] [stdout] | [INFO] [stdout] 563 | && !s3_manifest.map_or(false, |m| { [INFO] [stdout] | _____________________^ [INFO] [stdout] 564 | | m.has_factories(collection_name, range_start, range_end - 1) [INFO] [stdout] 565 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 563 - && !s3_manifest.map_or(false, |m| { [INFO] [stdout] 563 + && !s3_manifest.is_some_and(|m| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/factories.rs:870:26 [INFO] [stdout] | [INFO] [stdout] 870 | for (_, contract) in contracts { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 870 - for (_, contract) in contracts { [INFO] [stdout] 870 + for contract in contracts.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/factories.rs:899:26 [INFO] [stdout] | [INFO] [stdout] 899 | for (_, contract) in contracts { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 899 - for (_, contract) in contracts { [INFO] [stdout] 899 + for contract in contracts.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> src/raw_data/historical/logs.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | / pub(crate) async fn process_completed_range( [INFO] [stdout] 87 | | range_start: u64, [INFO] [stdout] 88 | | range_end: u64, [INFO] [stdout] 89 | | range_data: &mut HashMap>, [INFO] [stdout] ... | [INFO] [stdout] 100 | | chain_name: &str, [INFO] [stdout] 101 | | ) -> Result<(), LogCollectionError> { [INFO] [stdout] | |___________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/raw_data/historical/logs.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | if s3_manifest.map_or(false, |m| m.has_raw_logs(range.start, range.end - 1)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 121 - if s3_manifest.map_or(false, |m| m.has_raw_logs(range.start, range.end - 1)) { [INFO] [stdout] 121 + if s3_manifest.is_some_and(|m| m.has_raw_logs(range.start, range.end - 1)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression can be written more simply using `.retain()` [INFO] [stdout] --> src/raw_data/historical/logs.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | / logs = logs [INFO] [stdout] 140 | | .into_iter() [INFO] [stdout] 141 | | .filter(|log| { [INFO] [stdout] 142 | | configured_addresses.contains(&log.address) || factory_addrs.contains(&log.address) [INFO] [stdout] 143 | | }) [INFO] [stdout] 144 | | .collect(); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_retain [INFO] [stdout] = note: `#[warn(clippy::manual_retain)]` on by default [INFO] [stdout] help: consider calling `.retain()` instead [INFO] [stdout] | [INFO] [stdout] 139 ~ logs.retain(|log| { [INFO] [stdout] 140 + configured_addresses.contains(&log.address) || factory_addrs.contains(&log.address) [INFO] [stdout] 141 ~ }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/logs.rs:180:26 [INFO] [stdout] | [INFO] [stdout] 180 | for (_, contract) in contracts { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 180 - for (_, contract) in contracts { [INFO] [stdout] 180 + for contract in contracts.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/receipts.rs:147:39 [INFO] [stdout] | [INFO] [stdout] 147 | for (_contract_name, contract) in contracts { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 147 - for (_contract_name, contract) in contracts { [INFO] [stdout] 147 + for contract in contracts.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/raw_data/historical/receipts.rs:226:26 [INFO] [stdout] | [INFO] [stdout] 226 | for (_, contract) in contracts { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 226 - for (_, contract) in contracts { [INFO] [stdout] 226 + for contract in contracts.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/raw_data/historical/receipts.rs:448:1 [INFO] [stdout] | [INFO] [stdout] 448 | / pub(crate) async fn send_logs_to_channels( [INFO] [stdout] 449 | | batch_logs: Vec, [INFO] [stdout] 450 | | log_tx: &Option>, [INFO] [stdout] 451 | | factory_log_tx: &Option>, [INFO] [stdout] ... | [INFO] [stdout] 456 | | total_channel_send_time: &mut std::time::Duration, [INFO] [stdout] 457 | | ) -> Result<(), ReceiptCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/raw_data/historical/receipts.rs:569:55 [INFO] [stdout] | [INFO] [stdout] 569 | for (block, receipts) in batch.iter().zip(all_receipts.into_iter()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:629:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 569 - for (block, receipts) in batch.iter().zip(all_receipts.into_iter()) { [INFO] [stdout] 569 + for (block, receipts) in batch.iter().zip(all_receipts) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (19/7) [INFO] [stdout] --> src/raw_data/historical/receipts.rs:633:1 [INFO] [stdout] | [INFO] [stdout] 633 | / pub(crate) async fn process_range( [INFO] [stdout] 634 | | range: &BlockRange, [INFO] [stdout] 635 | | blocks: Vec, [INFO] [stdout] 636 | | client: &UnifiedRpcClient, [INFO] [stdout] ... | [INFO] [stdout] 652 | | chain_name: &str, [INFO] [stdout] 653 | | ) -> Result<(), ReceiptCollectionError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/raw_data/historical/receipts.rs:693:17 [INFO] [stdout] | [INFO] [stdout] 693 | (total_blocks + block_receipt_concurrency - 1) / block_receipt_concurrency, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `total_blocks.div_ceil(block_receipt_concurrency)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/raw_data/historical/receipts.rs:729:55 [INFO] [stdout] | [INFO] [stdout] 729 | for (block, receipts) in batch.iter().zip(all_receipts.into_iter()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:629:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 729 - for (block, receipts) in batch.iter().zip(all_receipts.into_iter()) { [INFO] [stdout] 729 + for (block, receipts) in batch.iter().zip(all_receipts) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/raw_data/historical/receipts.rs:821:29 [INFO] [stdout] | [INFO] [stdout] 821 | let total_batches = (total_txs + rpc_batch_size - 1) / rpc_batch_size; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `total_txs.div_ceil(rpc_batch_size)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/raw_data/historical/receipts.rs:975:40 [INFO] [stdout] | [INFO] [stdout] 975 | ReceiptCollectionError::Io(std::io::Error::new( [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 976 | | std::io::ErrorKind::Other, [INFO] [stdout] 977 | | e.to_string(), [INFO] [stdout] 978 | | )) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 975 ~ ReceiptCollectionError::Io(std::io::Error::other( [INFO] [stdout] 976 ~ e.to_string(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/raw_data/historical/receipts.rs:1035:13 [INFO] [stdout] | [INFO] [stdout] 1035 | &receipt.inner.logs(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `receipt.inner.logs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/raw_data/historical/receipts.rs:1071:22 [INFO] [stdout] | [INFO] [stdout] 1071 | extract_logs(&logs, block_number, timestamp, tx_hash, all_logs); [INFO] [stdout] | ^^^^^ help: change this to: `logs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/raw_data/historical/receipts.rs:1081:23 [INFO] [stdout] | [INFO] [stdout] 1081 | gas_used: receipt.gas_used as u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `receipt.gas_used` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/storage/cached.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | candidates.sort_by(|a, b| a.1.last_access.cmp(&b.1.last_access)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 175 - candidates.sort_by(|a, b| a.1.last_access.cmp(&b.1.last_access)); [INFO] [stdout] 175 + candidates.sort_by_key(|a| a.1.last_access); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/rpc/mod.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | mod rpc; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/storage/initial_sync.rs:309:31 [INFO] [stdout] | [INFO] [stdout] 309 | if let Some(range_part) = filename.split('_').last() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 309 - if let Some(range_part) = filename.split('_').last() { [INFO] [stdout] 309 + if let Some(range_part) = filename.split('_').next_back() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/storage/retry.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | / if let Some(pos) = queue.iter().position(|p| p.is_due()) { [INFO] [stdout] 170 | | Some(queue.remove(pos).unwrap()) [INFO] [stdout] 171 | | } else { [INFO] [stdout] 172 | | None [INFO] [stdout] 173 | | } [INFO] [stdout] | |_________________^ help: try: `queue.iter().position(|p| p.is_due()).map(|pos| queue.remove(pos).unwrap())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/transformations/context.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | / pub fn new( [INFO] [stdout] 428 | | chain_name: String, [INFO] [stdout] 429 | | chain_id: u64, [INFO] [stdout] 430 | | blockrange_start: u64, [INFO] [stdout] ... | [INFO] [stdout] 437 | | contracts: Arc, [INFO] [stdout] 438 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformations/context.rs:468:20 [INFO] [stdout] | [INFO] [stdout] 468 | && start_block.map_or(true, |sb| e.block_number >= sb) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 468 - && start_block.map_or(true, |sb| e.block_number >= sb) [INFO] [stdout] 468 + && start_block.is_none_or(|sb| e.block_number >= sb) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformations/context.rs:484:13 [INFO] [stdout] | [INFO] [stdout] 484 | start_block.map_or(true, |sb| e.block_number >= sb) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 484 - start_block.map_or(true, |sb| e.block_number >= sb) [INFO] [stdout] 484 + start_block.is_none_or(|sb| e.block_number >= sb) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformations/context.rs:501:20 [INFO] [stdout] | [INFO] [stdout] 501 | && start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 501 - && start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] 501 + && start_block.is_none_or(|sb| c.block_number >= sb) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformations/context.rs:514:13 [INFO] [stdout] | [INFO] [stdout] 514 | start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 514 - start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] 514 + start_block.is_none_or(|sb| c.block_number >= sb) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/storage/cached.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | candidates.sort_by(|a, b| a.1.last_access.cmp(&b.1.last_access)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 175 - candidates.sort_by(|a, b| a.1.last_access.cmp(&b.1.last_access)); [INFO] [stdout] 175 + candidates.sort_by_key(|a| a.1.last_access); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/transformations/engine.rs:90:1 [INFO] [stdout] | [INFO] [stdout] 90 | / impl Default for ExecutionMode { [INFO] [stdout] 91 | | fn default() -> Self { [INFO] [stdout] 92 | | Self::Streaming [INFO] [stdout] 93 | | } [INFO] [stdout] 94 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 83 + #[derive(Default)] [INFO] [stdout] 84 | pub enum ExecutionMode { [INFO] [stdout] 85 | /// Process data as it arrives (for live/real-time data). [INFO] [stdout] 86 ~ #[default] [INFO] [stdout] 87 ~ Streaming, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/transformations/engine.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | / pub async fn new( [INFO] [stdout] 124 | | registry: Arc, [INFO] [stdout] 125 | | db_pool: Arc, [INFO] [stdout] 126 | | rpc_client: Arc, [INFO] [stdout] ... | [INFO] [stdout] 135 | | expect_eth_call_completion: bool, [INFO] [stdout] 136 | | ) -> Result { [INFO] [stdout] | |__________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/transformations/engine.rs:358:19 [INFO] [stdout] | [INFO] [stdout] 358 | base_dir: &PathBuf, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 358 - base_dir: &PathBuf, [INFO] [stdout] 358 + base_dir: &Path, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/transformations/engine.rs:468:31 [INFO] [stdout] | [INFO] [stdout] 468 | let mut join_set: JoinSet, TransformationError>> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/transformations/engine.rs:661:31 [INFO] [stdout] | [INFO] [stdout] 661 | let mut join_set: JoinSet, TransformationError>> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/storage/initial_sync.rs:309:31 [INFO] [stdout] | [INFO] [stdout] 309 | if let Some(range_part) = filename.split('_').last() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 309 - if let Some(range_part) = filename.split('_').last() { [INFO] [stdout] 309 + if let Some(range_part) = filename.split('_').next_back() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/transformations/engine.rs:1152:33 [INFO] [stdout] | [INFO] [stdout] 1152 | let mut ready_handlers: Vec<(Arc, Arc>)> = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformations/engine.rs:1179:33 [INFO] [stdout] | [INFO] [stdout] 1179 | ... start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 1179 - start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] 1179 + start_block.is_none_or(|sb| c.block_number >= sb) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/transformations/event/derc20_transfer.rs:54:73 [INFO] [stdout] | [INFO] [stdout] 54 | ops.push(upsert_user(&from_address, &event.block_timestamp, &ctx)); [INFO] [stdout] | ^^^^ help: change this to: `ctx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/transformations/event/derc20_transfer.rs:55:71 [INFO] [stdout] | [INFO] [stdout] 55 | ops.push(upsert_user(&to_address, &event.block_timestamp, &ctx)); [INFO] [stdout] | ^^^^ help: change this to: `ctx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/transformations/event/v4/create.rs:55:75 [INFO] [stdout] | [INFO] [stdout] 55 | let metadata_result = get_metadata(&asset, &numeraire, event, &ctx); [INFO] [stdout] | ^^^^ help: change this to: `ctx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/transformations/event/v4/create.rs:67:29 [INFO] [stdout] | [INFO] [stdout] 67 | let hook_call = ctx [INFO] [stdout] | _____________________________^ [INFO] [stdout] 68 | | .calls_for_address(hook) [INFO] [stdout] 69 | | .filter(|call| call.function_name == "once") [INFO] [stdout] 70 | | .next() [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] = note: `#[warn(clippy::filter_next)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 67 ~ let hook_call = ctx [INFO] [stdout] 68 + .calls_for_address(hook).find(|call| call.function_name == "once") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/storage/retry.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | / if let Some(pos) = queue.iter().position(|p| p.is_due()) { [INFO] [stdout] 170 | | Some(queue.remove(pos).unwrap()) [INFO] [stdout] 171 | | } else { [INFO] [stdout] 172 | | None [INFO] [stdout] 173 | | } [INFO] [stdout] | |_________________^ help: try: `queue.iter().position(|p| p.is_due()).map(|pos| queue.remove(pos).unwrap())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/transformations/historical.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 29 | file_index: RwLock>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/transformations/historical.rs:81:16 [INFO] [stdout] | [INFO] [stdout] 81 | index: &mut HashMap<(String, String), Vec<(u64, u64, PathBuf)>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/transformations/historical.rs:258:16 [INFO] [stdout] | [INFO] [stdout] 258 | index: &HashMap<(String, String), Vec<(u64, u64, PathBuf)>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/transformations/context.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | / pub fn new( [INFO] [stdout] 428 | | chain_name: String, [INFO] [stdout] 429 | | chain_id: u64, [INFO] [stdout] 430 | | blockrange_start: u64, [INFO] [stdout] ... | [INFO] [stdout] 437 | | contracts: Arc, [INFO] [stdout] 438 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformations/context.rs:468:20 [INFO] [stdout] | [INFO] [stdout] 468 | && start_block.map_or(true, |sb| e.block_number >= sb) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 468 - && start_block.map_or(true, |sb| e.block_number >= sb) [INFO] [stdout] 468 + && start_block.is_none_or(|sb| e.block_number >= sb) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformations/context.rs:484:13 [INFO] [stdout] | [INFO] [stdout] 484 | start_block.map_or(true, |sb| e.block_number >= sb) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 484 - start_block.map_or(true, |sb| e.block_number >= sb) [INFO] [stdout] 484 + start_block.is_none_or(|sb| e.block_number >= sb) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformations/context.rs:501:20 [INFO] [stdout] | [INFO] [stdout] 501 | && start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 501 - && start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] 501 + && start_block.is_none_or(|sb| c.block_number >= sb) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformations/context.rs:514:13 [INFO] [stdout] | [INFO] [stdout] 514 | start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 514 - start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] 514 + start_block.is_none_or(|sb| c.block_number >= sb) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/transformations/live_state.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | / impl Default for LiveProcessingState { [INFO] [stdout] 47 | | fn default() -> Self { [INFO] [stdout] 48 | | Self { [INFO] [stdout] 49 | | received_calls: HashMap::new(), [INFO] [stdout] ... | [INFO] [stdout] 57 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 28 + #[derive(Default)] [INFO] [stdout] 29 | pub(crate) struct LiveProcessingState { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/transformations/engine.rs:90:1 [INFO] [stdout] | [INFO] [stdout] 90 | / impl Default for ExecutionMode { [INFO] [stdout] 91 | | fn default() -> Self { [INFO] [stdout] 92 | | Self::Streaming [INFO] [stdout] 93 | | } [INFO] [stdout] 94 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 83 + #[derive(Default)] [INFO] [stdout] 84 | pub enum ExecutionMode { [INFO] [stdout] 85 | /// Process data as it arrives (for live/real-time data). [INFO] [stdout] 86 ~ #[default] [INFO] [stdout] 87 ~ Streaming, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/transformations/engine.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | / pub async fn new( [INFO] [stdout] 124 | | registry: Arc, [INFO] [stdout] 125 | | db_pool: Arc, [INFO] [stdout] 126 | | rpc_client: Arc, [INFO] [stdout] ... | [INFO] [stdout] 135 | | expect_eth_call_completion: bool, [INFO] [stdout] 136 | | ) -> Result { [INFO] [stdout] | |__________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/transformations/engine.rs:358:19 [INFO] [stdout] | [INFO] [stdout] 358 | base_dir: &PathBuf, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 358 - base_dir: &PathBuf, [INFO] [stdout] 358 + base_dir: &Path, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/transformations/engine.rs:468:31 [INFO] [stdout] | [INFO] [stdout] 468 | let mut join_set: JoinSet, TransformationError>> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/transformations/engine.rs:661:31 [INFO] [stdout] | [INFO] [stdout] 661 | let mut join_set: JoinSet, TransformationError>> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformations/retry.rs:764:13 [INFO] [stdout] | [INFO] [stdout] 764 | start_block.map_or(true, |sb| e.block_number >= sb) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 764 - start_block.map_or(true, |sb| e.block_number >= sb) [INFO] [stdout] 764 + start_block.is_none_or(|sb| e.block_number >= sb) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformations/retry.rs:779:13 [INFO] [stdout] | [INFO] [stdout] 779 | start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 779 - start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] 779 + start_block.is_none_or(|sb| c.block_number >= sb) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (22/7) [INFO] [stdout] --> src/transformations/util/db/pool.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / pub fn insert_pool( [INFO] [stdout] 32 | | block_number: u64, [INFO] [stdout] 33 | | block_timestamp: u64, [INFO] [stdout] 34 | | address: PoolAddressOrPoolId, [INFO] [stdout] ... | [INFO] [stdout] 53 | | ctx: &TransformationContext, [INFO] [stdout] 54 | | ) -> DbOperation { [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (18/7) [INFO] [stdout] --> src/transformations/util/db/token.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub fn insert_token( [INFO] [stdout] 6 | | block_number: u64, [INFO] [stdout] 7 | | block_timestamp: u64, [INFO] [stdout] 8 | | tx_hash: &[u8; 32], [INFO] [stdout] ... | [INFO] [stdout] 23 | | ctx: &TransformationContext, [INFO] [stdout] 24 | | ) -> DbOperation { [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> src/transformations/util/db/v4_pool_configs.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / pub fn insert_pool_config( [INFO] [stdout] 7 | | pool_id: [u8; 32], [INFO] [stdout] 8 | | hook_address: [u8; 20], [INFO] [stdout] 9 | | num_tokens_to_sell: U256, [INFO] [stdout] ... | [INFO] [stdout] 20 | | ctx: &TransformationContext, [INFO] [stdout] 21 | | ) -> DbOperation { [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/transformations/util/metadata.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 207 | return Ok((asset_metadata, numeraire_metadata)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 207 - return Ok((asset_metadata, numeraire_metadata)); [INFO] [stdout] 207 + Ok((asset_metadata, numeraire_metadata)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/transformations/util/metadata.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | if is_precompile_address(asset.into()) == true { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `is_precompile_address(asset.into())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/transformations/util/metadata.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | } else if is_precompile_address(numeraire.into()) == true { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `is_precompile_address(numeraire.into())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/transformations/util/metadata.rs:25:26 [INFO] [stdout] | [INFO] [stdout] 25 | let asset_metadata = ctx [INFO] [stdout] | __________________________^ [INFO] [stdout] 26 | | .calls_for_address(*asset) [INFO] [stdout] 27 | | .filter(|call| call.function_name == "once") [INFO] [stdout] 28 | | .next() [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 25 ~ let asset_metadata = ctx [INFO] [stdout] 26 + .calls_for_address(*asset).find(|call| call.function_name == "once") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `[u8; 20]` [INFO] [stdout] --> src/transformations/util/metadata.rs:130:50 [INFO] [stdout] | [INFO] [stdout] 130 | PoolAddressOrPoolId::Address(addr.into()) [INFO] [stdout] | ^^^^^^^^^^^ help: consider removing `.into()`: `addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/transformations/util/metadata.rs:148:20 [INFO] [stdout] | [INFO] [stdout] 148 | let call = ctx.calls_for_address(*numeraire) [INFO] [stdout] | ____________________^ [INFO] [stdout] 149 | | .filter(|call| call.function_name == "once") [INFO] [stdout] 150 | | .next() [INFO] [stdout] | |___________________^ help: try: `ctx.calls_for_address(*numeraire).find(|call| call.function_name == "once")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/transformations/util/sanitize.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | return is_precompile; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 - return is_precompile; [INFO] [stdout] 26 + is_precompile [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/transformations/engine.rs:1152:33 [INFO] [stdout] | [INFO] [stdout] 1152 | let mut ready_handlers: Vec<(Arc, Arc>)> = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformations/engine.rs:1179:33 [INFO] [stdout] | [INFO] [stdout] 1179 | ... start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 1179 - start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] 1179 + start_block.is_none_or(|sb| c.block_number >= sb) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/transformations/event/derc20_transfer.rs:54:73 [INFO] [stdout] | [INFO] [stdout] 54 | ops.push(upsert_user(&from_address, &event.block_timestamp, &ctx)); [INFO] [stdout] | ^^^^ help: change this to: `ctx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/transformations/event/derc20_transfer.rs:55:71 [INFO] [stdout] | [INFO] [stdout] 55 | ops.push(upsert_user(&to_address, &event.block_timestamp, &ctx)); [INFO] [stdout] | ^^^^ help: change this to: `ctx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/transformations/event/v4/create.rs:55:75 [INFO] [stdout] | [INFO] [stdout] 55 | let metadata_result = get_metadata(&asset, &numeraire, event, &ctx); [INFO] [stdout] | ^^^^ help: change this to: `ctx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/transformations/event/v4/create.rs:67:29 [INFO] [stdout] | [INFO] [stdout] 67 | let hook_call = ctx [INFO] [stdout] | _____________________________^ [INFO] [stdout] 68 | | .calls_for_address(hook) [INFO] [stdout] 69 | | .filter(|call| call.function_name == "once") [INFO] [stdout] 70 | | .next() [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] = note: `#[warn(clippy::filter_next)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 67 ~ let hook_call = ctx [INFO] [stdout] 68 + .calls_for_address(hook).find(|call| call.function_name == "once") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/types/config/eth_call.rs:123:1 [INFO] [stdout] | [INFO] [stdout] 123 | / impl Default for Frequency { [INFO] [stdout] 124 | | fn default() -> Self { [INFO] [stdout] 125 | | Frequency::EveryBlock [INFO] [stdout] 126 | | } [INFO] [stdout] 127 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 110 + #[derive(Default)] [INFO] [stdout] 111 | pub enum Frequency { [INFO] [stdout] 112 | /// Call every block (default) [INFO] [stdout] 113 ~ #[default] [INFO] [stdout] 114 ~ EveryBlock, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/types/config/eth_call.rs:411:23 [INFO] [stdout] | [INFO] [stdout] 411 | pub fn from_event(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> src/types/config/eth_call.rs:493:18 [INFO] [stdout] | [INFO] [stdout] 493 | UnnamedTuple(Vec>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] = note: `#[warn(clippy::vec_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: stripping a suffix manually [INFO] [stdout] --> src/types/config/eth_call.rs:537:29 [INFO] [stdout] | [INFO] [stdout] 537 | let inner_str = &s[..s.len() - 2]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the suffix was tested here [INFO] [stdout] --> src/types/config/eth_call.rs:536:9 [INFO] [stdout] | [INFO] [stdout] 536 | if s.ends_with("[]") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_strip [INFO] [stdout] = note: `#[warn(clippy::manual_strip)]` on by default [INFO] [stdout] help: try using the `strip_suffix` method [INFO] [stdout] | [INFO] [stdout] 536 ~ if let Some(inner_str) = s.strip_suffix("[]") { [INFO] [stdout] 537 ~ let inner_type = Self::parse(inner_str)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/transformations/historical.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 29 | file_index: RwLock>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/transformations/historical.rs:81:16 [INFO] [stdout] | [INFO] [stdout] 81 | index: &mut HashMap<(String, String), Vec<(u64, u64, PathBuf)>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/transformations/historical.rs:258:16 [INFO] [stdout] | [INFO] [stdout] 258 | index: &HashMap<(String, String), Vec<(u64, u64, PathBuf)>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/transformations/live_state.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | / impl Default for LiveProcessingState { [INFO] [stdout] 47 | | fn default() -> Self { [INFO] [stdout] 48 | | Self { [INFO] [stdout] 49 | | received_calls: HashMap::new(), [INFO] [stdout] ... | [INFO] [stdout] 57 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 28 + #[derive(Default)] [INFO] [stdout] 29 | pub(crate) struct LiveProcessingState { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformations/retry.rs:764:13 [INFO] [stdout] | [INFO] [stdout] 764 | start_block.map_or(true, |sb| e.block_number >= sb) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 764 - start_block.map_or(true, |sb| e.block_number >= sb) [INFO] [stdout] 764 + start_block.is_none_or(|sb| e.block_number >= sb) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/transformations/retry.rs:779:13 [INFO] [stdout] | [INFO] [stdout] 779 | start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 779 - start_block.map_or(true, |sb| c.block_number >= sb) [INFO] [stdout] 779 + start_block.is_none_or(|sb| c.block_number >= sb) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/transformations/retry.rs:868:9 [INFO] [stdout] | [INFO] [stdout] 868 | status.logs_decoded = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `live::types::LiveBlockStatus { logs_decoded: true, eth_calls_decoded: true, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/transformations/retry.rs:867:9 [INFO] [stdout] | [INFO] [stdout] 867 | let mut status = LiveBlockStatus::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/transformations/retry.rs:918:9 [INFO] [stdout] | [INFO] [stdout] 918 | status.logs_decoded = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `live::types::LiveBlockStatus { logs_decoded: true, eth_calls_decoded: true, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/transformations/retry.rs:917:9 [INFO] [stdout] | [INFO] [stdout] 917 | let mut status = LiveBlockStatus::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (22/7) [INFO] [stdout] --> src/transformations/util/db/pool.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / pub fn insert_pool( [INFO] [stdout] 32 | | block_number: u64, [INFO] [stdout] 33 | | block_timestamp: u64, [INFO] [stdout] 34 | | address: PoolAddressOrPoolId, [INFO] [stdout] ... | [INFO] [stdout] 53 | | ctx: &TransformationContext, [INFO] [stdout] 54 | | ) -> DbOperation { [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (18/7) [INFO] [stdout] --> src/transformations/util/db/token.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub fn insert_token( [INFO] [stdout] 6 | | block_number: u64, [INFO] [stdout] 7 | | block_timestamp: u64, [INFO] [stdout] 8 | | tx_hash: &[u8; 32], [INFO] [stdout] ... | [INFO] [stdout] 23 | | ctx: &TransformationContext, [INFO] [stdout] 24 | | ) -> DbOperation { [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> src/transformations/util/db/v4_pool_configs.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / pub fn insert_pool_config( [INFO] [stdout] 7 | | pool_id: [u8; 32], [INFO] [stdout] 8 | | hook_address: [u8; 20], [INFO] [stdout] 9 | | num_tokens_to_sell: U256, [INFO] [stdout] ... | [INFO] [stdout] 20 | | ctx: &TransformationContext, [INFO] [stdout] 21 | | ) -> DbOperation { [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/transformations/util/metadata.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 207 | return Ok((asset_metadata, numeraire_metadata)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 207 - return Ok((asset_metadata, numeraire_metadata)); [INFO] [stdout] 207 + Ok((asset_metadata, numeraire_metadata)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/transformations/util/metadata.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | if is_precompile_address(asset.into()) == true { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `is_precompile_address(asset.into())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/transformations/util/metadata.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | } else if is_precompile_address(numeraire.into()) == true { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `is_precompile_address(numeraire.into())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/transformations/util/metadata.rs:25:26 [INFO] [stdout] | [INFO] [stdout] 25 | let asset_metadata = ctx [INFO] [stdout] | __________________________^ [INFO] [stdout] 26 | | .calls_for_address(*asset) [INFO] [stdout] 27 | | .filter(|call| call.function_name == "once") [INFO] [stdout] 28 | | .next() [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 25 ~ let asset_metadata = ctx [INFO] [stdout] 26 + .calls_for_address(*asset).find(|call| call.function_name == "once") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `[u8; 20]` [INFO] [stdout] --> src/transformations/util/metadata.rs:130:50 [INFO] [stdout] | [INFO] [stdout] 130 | PoolAddressOrPoolId::Address(addr.into()) [INFO] [stdout] | ^^^^^^^^^^^ help: consider removing `.into()`: `addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> src/transformations/util/metadata.rs:148:20 [INFO] [stdout] | [INFO] [stdout] 148 | let call = ctx.calls_for_address(*numeraire) [INFO] [stdout] | ____________________^ [INFO] [stdout] 149 | | .filter(|call| call.function_name == "once") [INFO] [stdout] 150 | | .next() [INFO] [stdout] | |___________________^ help: try: `ctx.calls_for_address(*numeraire).find(|call| call.function_name == "once")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/transformations/util/sanitize.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | return is_precompile; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 - return is_precompile; [INFO] [stdout] 26 + is_precompile [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> src/main.rs:1164:1 [INFO] [stdout] | [INFO] [stdout] 1164 | / async fn spawn_live_mode( [INFO] [stdout] 1165 | | chain: Arc, [INFO] [stdout] 1166 | | config: &IndexerConfig, [INFO] [stdout] 1167 | | http_client: Arc, [INFO] [stdout] ... | [INFO] [stdout] 1175 | | tasks: &mut JoinSet>, [INFO] [stdout] 1176 | | ) -> anyhow::Result<()> { [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion has a constant value [INFO] [stdout] --> src/types/config/defaults.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | assert!(transformations::BATCH_FOR_CATCHUP); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider moving this into a const block: `const { assert!(..) }` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] = note: `#[warn(clippy::assertions_on_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/types/config/eth_call.rs:123:1 [INFO] [stdout] | [INFO] [stdout] 123 | / impl Default for Frequency { [INFO] [stdout] 124 | | fn default() -> Self { [INFO] [stdout] 125 | | Frequency::EveryBlock [INFO] [stdout] 126 | | } [INFO] [stdout] 127 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 110 + #[derive(Default)] [INFO] [stdout] 111 | pub enum Frequency { [INFO] [stdout] 112 | /// Call every block (default) [INFO] [stdout] 113 ~ #[default] [INFO] [stdout] 114 ~ EveryBlock, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/types/config/eth_call.rs:411:23 [INFO] [stdout] | [INFO] [stdout] 411 | pub fn from_event(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> src/types/config/eth_call.rs:493:18 [INFO] [stdout] | [INFO] [stdout] 493 | UnnamedTuple(Vec>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] = note: `#[warn(clippy::vec_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: stripping a suffix manually [INFO] [stdout] --> src/types/config/eth_call.rs:537:29 [INFO] [stdout] | [INFO] [stdout] 537 | let inner_str = &s[..s.len() - 2]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the suffix was tested here [INFO] [stdout] --> src/types/config/eth_call.rs:536:9 [INFO] [stdout] | [INFO] [stdout] 536 | if s.ends_with("[]") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_strip [INFO] [stdout] = note: `#[warn(clippy::manual_strip)]` on by default [INFO] [stdout] help: try using the `strip_suffix` method [INFO] [stdout] | [INFO] [stdout] 536 ~ if let Some(inner_str) = s.strip_suffix("[]") { [INFO] [stdout] 537 ~ let inner_type = Self::parse(inner_str)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> src/main.rs:1164:1 [INFO] [stdout] | [INFO] [stdout] 1164 | / async fn spawn_live_mode( [INFO] [stdout] 1165 | | chain: Arc, [INFO] [stdout] 1166 | | config: &IndexerConfig, [INFO] [stdout] 1167 | | http_client: Arc, [INFO] [stdout] ... | [INFO] [stdout] 1175 | | tasks: &mut JoinSet>, [INFO] [stdout] 1176 | | ) -> anyhow::Result<()> { [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 27s [INFO] running `Command { std: "docker" "inspect" "50738bb325be45b43f87274e4dc67e65dfcff8ca7ed61506ad82329889d8d55e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "50738bb325be45b43f87274e4dc67e65dfcff8ca7ed61506ad82329889d8d55e", kill_on_drop: false }` [INFO] [stdout] 50738bb325be45b43f87274e4dc67e65dfcff8ca7ed61506ad82329889d8d55e