[INFO] cloning repository https://github.com/zkemail/relayer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zkemail/relayer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzkemail%2Frelayer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzkemail%2Frelayer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7ff6035793feb62a274f3ac72e1334463644d949
[INFO] checking zkemail/relayer against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzkemail%2Frelayer" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/zkemail/relayer on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-6-tc1/source/.cargo/config
[INFO] removed /workspace/builds/worker-6-tc1/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/zkemail/relayer
[INFO] finished tweaking git repo https://github.com/zkemail/relayer
[INFO] tweaked toml for git repo https://github.com/zkemail/relayer written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/zkemail/relayer 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" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded webpki-roots v0.25.2
[INFO] [stderr]   Downloaded oauth2 v4.4.2
[INFO] [stderr]   Downloaded rustix v0.38.21
[INFO] [stderr]   Downloaded auto_impl v1.1.0
[INFO] [stderr]   Downloaded hex-literal v0.4.1
[INFO] [stderr]   Downloaded ark-ed-on-bn254 v0.3.0
[INFO] [stderr]   Downloaded ark-crypto-primitives v0.3.0
[INFO] [stderr]   Downloaded pest v2.7.5
[INFO] [stderr]   Downloaded ctr v0.9.2
[INFO] [stderr]   Downloaded hashers v1.0.1
[INFO] [stderr]   Downloaded cargo_metadata v0.17.0
[INFO] [stderr]   Downloaded ethers-core v2.0.10
[INFO] [stderr]   Downloaded ark-nonnative-field v0.3.0
[INFO] [stderr]   Downloaded ark-snark v0.3.0
[INFO] [stderr]   Downloaded ark-r1cs-std v0.3.1
[INFO] [stderr]   Downloaded ark-relations v0.3.0
[INFO] [stderr]   Downloaded prettyplease v0.2.15
[INFO] [stderr]   Downloaded toml v0.7.8
[INFO] [stderr]   Downloaded ethers-contract-abigen v2.0.10
[INFO] [stderr]   Downloaded ethers-contract-derive v2.0.10
[INFO] [stderr]   Downloaded ethers-contract v2.0.10
[INFO] [stderr]   Downloaded ethers-etherscan v2.0.10
[INFO] [stderr]   Downloaded dunce v1.0.4
[INFO] [stderr]   Downloaded path-slash v0.2.1
[INFO] [stderr]   Downloaded ascii-canvas v3.0.0
[INFO] [stderr]   Downloaded ena v0.14.2
[INFO] [stderr]   Downloaded term v0.7.0
[INFO] [stderr]   Downloaded lalrpop v0.20.0
[INFO] [stderr]   Downloaded lalrpop-util v0.20.0
[INFO] [stderr]   Downloaded urlencoding v1.3.3
[INFO] [stderr]   Downloaded svm-rs v0.3.3
[INFO] [stderr]   Downloaded ethers-solc v2.0.10
[INFO] [stderr]   Downloaded ethers v2.0.10
[INFO] [stderr]   Downloaded enr v0.9.1
[INFO] [stderr]   Downloaded send_wrapper v0.4.0
[INFO] [stderr]   Downloaded pem v1.1.1
[INFO] [stderr]   Downloaded deranged v0.3.9
[INFO] [stderr]   Downloaded futures-locks v0.7.1
[INFO] [stderr]   Downloaded parity-scale-codec-derive v3.6.5
[INFO] [stderr]   Downloaded jsonwebtoken v8.3.0
[INFO] [stderr]   Downloaded ouroboros v0.16.0
[INFO] [stderr]   Downloaded ark-serialize-derive v0.3.0
[INFO] [stderr]   Downloaded ethers-addressbook v2.0.10
[INFO] [stderr]   Downloaded tungstenite v0.20.1
[INFO] [stderr]   Downloaded tokio-tungstenite v0.20.1
[INFO] [stderr]   Downloaded async_io_stream v0.3.3
[INFO] [stderr]   Downloaded async-trait v0.1.74
[INFO] [stderr]   Downloaded imap-proto v0.16.3
[INFO] [stderr]   Downloaded solang-parser v0.3.2
[INFO] [stderr]   Downloaded pharos v0.5.3
[INFO] [stderr]   Downloaded send_wrapper v0.6.0
[INFO] [stderr]   Downloaded ws_stream_wasm v0.7.4
[INFO] [stderr]   Downloaded ethers-providers v2.0.10
[INFO] [stderr]   Downloaded bech32 v0.9.1
[INFO] [stderr]   Downloaded ethers-middleware v2.0.10
[INFO] [stderr]   Downloaded bs58 v0.5.0
[INFO] [stderr]   Downloaded ouroboros_macro v0.16.0
[INFO] [stderr]   Downloaded coins-core v0.8.7
[INFO] [stderr]   Downloaded coins-bip32 v0.8.7
[INFO] [stderr]   Downloaded pbkdf2 v0.12.2
[INFO] [stderr]   Downloaded coins-bip39 v0.8.7
[INFO] [stderr]   Downloaded salsa20 v0.10.2
[INFO] [stderr]   Downloaded scrypt v0.10.0
[INFO] [stderr]   Downloaded eth-keystore v0.5.0
[INFO] [stderr]   Downloaded camino v1.1.6
[INFO] [stderr]   Downloaded cargo-platform v0.1.4
[INFO] [stderr]   Downloaded const-hex v1.10.0
[INFO] [stderr]   Downloaded ecdsa v0.16.8
[INFO] [stderr]   Downloaded crypto-bigint v0.5.3
[INFO] [stderr]   Downloaded elliptic-curve v0.13.6
[INFO] [stderr]   Downloaded arkworks-mimc v0.2.0
[INFO] [stderr]   Downloaded imap v3.0.0-alpha.12
[INFO] [stderr]   Downloaded k256 v0.13.1
[INFO] [stderr]   Downloaded num_enum_derive v0.7.1
[INFO] [stderr]   Downloaded num_enum v0.7.1
[INFO] [stderr]   Downloaded parity-scale-codec v3.6.5
[INFO] [stderr]   Downloaded rustls v0.21.8
[INFO] [stderr]   Downloaded proptest v1.3.1
[INFO] [stderr]   Downloaded winnow v0.5.19
[INFO] [stderr]   Downloaded ethers-signers v2.0.10
[INFO] [stderr]   Downloaded sled v0.34.7
[INFO] [stderr]   Downloaded bufstream v0.1.4
[INFO] [stderr]   Downloaded hyper-rustls v0.24.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f58386bc51286d6ce0d8946c1fae35beac65b23838cedb1ac2cce054078bbee6
[INFO] running `Command { std: "docker" "start" "-a" "f58386bc51286d6ce0d8946c1fae35beac65b23838cedb1ac2cce054078bbee6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f58386bc51286d6ce0d8946c1fae35beac65b23838cedb1ac2cce054078bbee6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f58386bc51286d6ce0d8946c1fae35beac65b23838cedb1ac2cce054078bbee6", kill_on_drop: false }`
[INFO] [stdout] f58386bc51286d6ce0d8946c1fae35beac65b23838cedb1ac2cce054078bbee6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3124044dae72c9eaf27d4f98f0c882be035f3225b3f5c8b035a0bd790c26a27d
[INFO] running `Command { std: "docker" "start" "-a" "3124044dae72c9eaf27d4f98f0c882be035f3225b3f5c8b035a0bd790c26a27d", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.69
[INFO] [stderr]    Compiling serde v1.0.192
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling thiserror v1.0.50
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.14.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling winnow v0.5.19
[INFO] [stderr]     Checking const-oid v0.9.5
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]    Compiling futures-core v0.3.29
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking cpufeatures v0.2.11
[INFO] [stderr]     Checking smallvec v1.11.2
[INFO] [stderr]     Checking futures-sink v0.3.29
[INFO] [stderr]    Compiling futures-channel v0.3.29
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling zeroize v1.6.0
[INFO] [stderr]    Compiling futures-task v0.3.29
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]    Compiling indexmap v2.1.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling getrandom v0.2.11
[INFO] [stderr]     Checking bitflags v2.4.1
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]     Checking parking_lot_core v0.9.9
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling futures-util v0.3.29
[INFO] [stderr]     Checking mio v0.8.9
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking socket2 v0.5.5
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rustc-hex v2.1.0
[INFO] [stderr]     Checking futures-io v0.3.29
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]     Checking base64 v0.21.5
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]    Compiling serde_json v1.0.108
[INFO] [stderr]     Checking byte-slice-cast v1.2.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling camino v1.1.6
[INFO] [stderr]    Compiling semver v1.0.20
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]    Compiling rustix v0.38.21
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]     Checking ff v0.13.0
[INFO] [stderr]     Checking keccak v0.1.4
[INFO] [stderr]     Checking base16ct v0.2.0
[INFO] [stderr]     Checking unicode-bidi v0.3.13
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling openssl v0.10.59
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]     Checking fixed-hash v0.8.0
[INFO] [stderr]     Checking percent-encoding v2.3.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]     Checking uint v0.9.5
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling ring v0.17.5
[INFO] [stderr]    Compiling openssl-sys v0.9.95
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling rustls v0.21.8
[INFO] [stderr]     Checking form_urlencoded v1.2.0
[INFO] [stderr]     Checking unicode-ident v1.0.12
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.88
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking iana-time-zone v0.1.58
[INFO] [stderr]     Checking ark-std v0.3.0
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]    Compiling der v0.7.8
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]    Compiling bumpalo v3.14.0
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]     Checking linux-raw-sys v0.4.11
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]     Checking fastrand v2.0.1
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling crypto-bigint v0.5.3
[INFO] [stderr]     Checking const-hex v1.10.0
[INFO] [stderr]    Compiling async-trait v0.1.74
[INFO] [stderr]    Compiling wasm-bindgen v0.2.88
[INFO] [stderr]    Compiling eyre v0.6.8
[INFO] [stderr]    Compiling prettyplease v0.2.15
[INFO] [stderr]     Checking ipnet v2.9.0
[INFO] [stderr]    Compiling rfc6979 v0.4.0
[INFO] [stderr]    Compiling signature v2.1.0
[INFO] [stderr]     Checking webpki-roots v0.25.2
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]     Checking data-encoding v2.4.0
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.88
[INFO] [stderr]    Compiling sec1 v0.7.3
[INFO] [stderr]    Compiling spki v0.7.2
[INFO] [stderr]     Checking deranged v0.3.9
[INFO] [stderr]    Compiling time-macros v0.2.15
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]     Checking tempfile v3.8.1
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking encoding_rs v0.8.33
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]    Compiling elliptic-curve v0.13.6
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.88
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling ecdsa v0.16.8
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling chrono v0.4.31
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]     Checking bech32 v0.9.1
[INFO] [stderr]    Compiling k256 v0.13.1
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]    Compiling indenter v0.3.3
[INFO] [stderr]     Checking wyz v0.5.1
[INFO] [stderr]    Compiling walkdir v2.4.0
[INFO] [stderr]     Checking time v0.3.30
[INFO] [stderr]     Checking pem v1.1.1
[INFO] [stderr]     Checking send_wrapper v0.4.0
[INFO] [stderr]    Compiling dunce v1.0.4
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking funty v2.0.0
[INFO] [stderr]     Checking hashers v1.0.1
[INFO] [stderr]     Checking Inflector v0.11.4
[INFO] [stderr]    Compiling serde_derive v1.0.192
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.50
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling futures-macro v0.3.29
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.88
[INFO] [stderr]    Compiling pin-project-internal v1.1.3
[INFO] [stderr]    Compiling impl-trait-for-tuples v0.2.2
[INFO] [stderr]    Compiling rlp-derive v0.1.0
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling pest v2.7.5
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]    Compiling auto_impl v1.1.0
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]    Compiling ark-serialize-derive v0.3.0
[INFO] [stderr]    Compiling ark-ff-macros v0.3.0
[INFO] [stderr]    Compiling ark-ff-asm v0.3.0
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]     Checking bs58 v0.5.0
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking ripemd v0.1.3
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking js-sys v0.3.65
[INFO] [stderr]     Checking pin-project v1.1.3
[INFO] [stderr]     Checking salsa20 v0.10.2
[INFO] [stderr]     Checking pbkdf2 v0.11.0
[INFO] [stderr]     Checking simple_asn1 v0.6.2
[INFO] [stderr]     Checking scrypt v0.10.0
[INFO] [stderr]     Checking ark-serialize v0.3.0
[INFO] [stderr]    Compiling semver-parser v0.10.2
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aes v0.8.3
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]     Checking match_cfg v0.1.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling semver v0.11.0
[INFO] [stderr]    Compiling rustc_version v0.3.3
[INFO] [stderr]     Checking hostname v0.3.1
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]     Checking matches v0.1.10
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking blake2 v0.9.2
[INFO] [stderr]    Compiling enum-as-inner v0.5.1
[INFO] [stderr]    Compiling ouroboros_macro v0.16.0
[INFO] [stderr]    Compiling ark-ff v0.3.0
[INFO] [stderr]     Checking futures-locks v0.7.1
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking aliasable v0.1.3
[INFO] [stderr]    Compiling anyhow v1.0.75
[INFO] [stderr]     Checking resolv-conf v0.7.0
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking lru-cache v0.1.2
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking futures-executor v0.3.29
[INFO] [stderr]     Checking idna v0.3.0
[INFO] [stderr]     Checking email-encoding v0.2.0
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking bufstream v0.1.4
[INFO] [stderr]     Checking quoted_printable v0.4.8
[INFO] [stderr]     Checking email_address v0.2.4
[INFO] [stderr]     Checking futures v0.3.29
[INFO] [stderr]     Checking sled v0.34.7
[INFO] [stderr]     Checking fancy-regex v0.11.0
[INFO] [stderr]     Checking hex-literal v0.4.1
[INFO] [stderr]     Checking urlencoding v1.3.3
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking imap-proto v0.16.3
[INFO] [stderr]     Checking lettre v0.10.4
[INFO] [stderr]     Checking ouroboros v0.16.0
[INFO] [stderr]     Checking gloo-timers v0.2.6
[INFO] [stderr]     Checking futures-timer v3.0.2
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]     Checking impl-serde v0.4.0
[INFO] [stderr]     Checking url v2.4.1
[INFO] [stderr]     Checking cargo-platform v0.1.4
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking toml_datetime v0.6.5
[INFO] [stderr]     Checking serde_spanned v0.6.4
[INFO] [stderr]     Checking coins-core v0.8.7
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking serde_path_to_error v0.1.14
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling toml_edit v0.20.7
[INFO] [stderr]     Checking coins-bip32 v0.8.7
[INFO] [stderr]     Checking tokio v1.34.0
[INFO] [stderr]     Checking rlp v0.5.2
[INFO] [stderr]     Checking http v0.2.9
[INFO] [stderr]     Checking impl-rlp v0.3.0
[INFO] [stderr]     Checking enr v0.9.1
[INFO] [stderr]    Compiling open-fastrlp-derive v0.1.1
[INFO] [stderr]     Checking coins-bip39 v0.8.7
[INFO] [stderr]     Checking cargo_metadata v0.17.0
[INFO] [stderr]     Checking jsonwebtoken v8.3.0
[INFO] [stderr]     Checking eth-keystore v0.5.0
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]     Checking imap v3.0.0-alpha.12
[INFO] [stderr]    Compiling proc-macro-crate v2.0.0
[INFO] [stderr]     Checking toml v0.7.8
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling num_enum_derive v0.7.1
[INFO] [stderr]    Compiling parity-scale-codec-derive v3.6.5
[INFO] [stderr]    Compiling scale-info-derive v2.10.0
[INFO] [stderr]     Checking num_enum v0.7.1
[INFO] [stderr]     Checking parity-scale-codec v3.6.5
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking trust-dns-proto v0.22.0
[INFO] [stderr]     Checking tokio-tungstenite v0.20.1
[INFO] [stderr]     Checking h2 v0.3.21
[INFO] [stderr]     Checking scale-info v2.10.0
[INFO] [stderr]     Checking impl-codec v0.6.0
[INFO] [stderr]     Checking ark-relations v0.3.0
[INFO] [stderr]     Checking ark-ec v0.3.0
[INFO] [stderr]     Checking ark-snark v0.3.0
[INFO] [stderr]     Checking primitive-types v0.12.2
[INFO] [stderr]     Checking ethbloom v0.13.0
[INFO] [stderr]     Checking ark-r1cs-std v0.3.1
[INFO] [stderr]     Checking ark-bn254 v0.3.0
[INFO] [stderr]     Checking trust-dns-resolver v0.22.0
[INFO] [stderr]     Checking ethereum-types v0.14.1
[INFO] [stderr]     Checking ethabi v18.0.0
[INFO] [stderr]     Checking open-fastrlp v0.1.4
[INFO] [stderr]     Checking hyper v0.14.27
[INFO] [stderr]     Checking ethers-core v2.0.10
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.22
[INFO] [stderr]     Checking oauth2 v4.4.2
[INFO] [stderr]     Checking ark-nonnative-field v0.3.0
[INFO] [stderr]     Checking ark-ed-on-bn254 v0.3.0
[INFO] [stderr]     Checking ethers-providers v2.0.10
[INFO] [stderr]     Checking ethers-contract-abigen v2.0.10
[INFO] [stderr]     Checking ethers-etherscan v2.0.10
[INFO] [stderr]     Checking ethers-signers v2.0.10
[INFO] [stderr]     Checking ethers-addressbook v2.0.10
[INFO] [stderr]     Checking ark-crypto-primitives v0.3.0
[INFO] [stderr]     Checking arkworks-mimc v0.2.0
[INFO] [stderr]    Compiling ethers-contract-derive v2.0.10
[INFO] [stderr]     Checking ethers-contract v2.0.10
[INFO] [stderr]     Checking ethers-middleware v2.0.10
[INFO] [stderr]     Checking ethers v2.0.10
[INFO] [stderr]     Checking relayer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ethers::utils::id`
[INFO] [stdout]  --> src/chain.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::utils::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]   --> src/chain.rs:10:48
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ethers::core::types::{Address, U256, H160, H256};
[INFO] [stdout]    |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex::encode`
[INFO] [stdout]   --> src/chain.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use hex::encode;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ETHERSCAN_KEY`
[INFO] [stdout]   --> src/chain.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::config::{INCOMING_EML_PATH, ETHERSCAN_KEY, LOGIN_ID_KEY, LOGIN_PASSWORD_KEY, SMTP_DOMAIN_NAME_KEY};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IMAP_AUTH_TYPE_KEY`, `IMAP_AUTH_URL_KEY`, `IMAP_CLIENT_ID_KEY`, `IMAP_CLIENT_SECRET_KEY`, `IMAP_DOMAIN_NAME_KEY`, `IMAP_PORT_KEY`, `IMAP_REDIRECT_URL_KEY`, `IMAP_TOKEN_URL_KEY`, `LOGIN_ID_KEY`, `LOGIN_PASSWORD_KEY`, `SMTP_DOMAIN_NAME_KEY`, `SMTP_PORT_KEY`, `ZK_EMAIL_PATH_KEY`
[INFO] [stdout]  --> src/coordinator.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     IMAP_AUTH_TYPE_KEY, IMAP_AUTH_URL_KEY, IMAP_CLIENT_ID_KEY, IMAP_CLIENT_SECRET_KEY,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     IMAP_DOMAIN_NAME_KEY, IMAP_PORT_KEY, IMAP_REDIRECT_URL_KEY, IMAP_TOKEN_URL_KEY, LOGIN_ID_KEY,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 4 |     LOGIN_PASSWORD_KEY, SMTP_DOMAIN_NAME_KEY, SMTP_PORT_KEY, ZK_EMAIL_PATH_KEY,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `query_balance`
[INFO] [stdout]  --> src/coordinator.rs:8:35
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::chain::{query_address, query_balance};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MiMCParameters`
[INFO] [stdout]   --> src/coordinator.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 |     MiMC, MiMCParameters
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `U256`
[INFO] [stdout]   --> src/coordinator.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 | use ethers::core::types::{U256};
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bn254`, `FrParameters`
[INFO] [stdout]   --> src/coordinator.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | use ark_bn254::{Bn254, FrParameters, Fr};
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dotenv::dotenv`
[INFO] [stdout]   --> src/coordinator.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use dotenv::dotenv;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]   --> src/coordinator.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use regex::Regex;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string`
[INFO] [stdout]   --> src/coordinator.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::string;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]   --> src/coordinator.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     env,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/db.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |         if (backoff == 15) {
[INFO] [stdout]    |            ^             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 20 -         if (backoff == 15) {
[INFO] [stdout] 20 +         if backoff == 15 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/db.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |         if (backoff < 7) {
[INFO] [stdout]    |            ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 31 -         if (backoff < 7) {
[INFO] [stdout] 31 +         if backoff < 7 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Fetch`
[INFO] [stdout]  --> src/imap_client.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 | use imap::types::{Fetch, Fetches};
[INFO] [stdout]   |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Client`
[INFO] [stdout]  --> src/imap_client.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use imap::{Authenticator, Client, Session, ImapConnection};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TlsStream`
[INFO] [stdout]  --> src/imap_client.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use native_tls::{self, TlsStream};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::utils::id`
[INFO] [stdout]  --> src/chain.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::utils::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]   --> src/imap_client.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::net::TcpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::Iter`
[INFO] [stdout]   --> src/imap_client.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::slice::Iter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::executor::block_on`
[INFO] [stdout]  --> src/parse_email.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::executor::block_on;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]   --> src/chain.rs:10:48
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ethers::core::types::{Address, U256, H160, H256};
[INFO] [stdout]    |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sha256`
[INFO] [stdout]  --> src/parse_email.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sha2::{self, Digest, Sha256};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hex::encode`
[INFO] [stdout]   --> src/chain.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use hex::encode;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/parse_email.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResolverConfig`, `ResolverOpts`
[INFO] [stdout]   --> src/parse_email.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use trust_dns_resolver::config::{ResolverConfig, ResolverOpts};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ETHERSCAN_KEY`
[INFO] [stdout]   --> src/chain.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::config::{INCOMING_EML_PATH, ETHERSCAN_KEY, LOGIN_ID_KEY, LOGIN_PASSWORD_KEY, SMTP_DOMAIN_NAME_KEY};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RData`, `RecordType`
[INFO] [stdout]   --> src/parse_email.rs:11:37
[INFO] [stdout]    |
[INFO] [stdout] 11 | use trust_dns_resolver::proto::rr::{RData, RecordType};
[INFO] [stdout]    |                                     ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trust_dns_resolver::AsyncResolver`
[INFO] [stdout]   --> src/parse_email.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use trust_dns_resolver::AsyncResolver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeaderName`, `InReplyTo`, `MessageBuilder`, `ReplyTo`, `SMTP_PORT`, `client::SmtpConnection`, `commands::*`, `extension::ClientId`
[INFO] [stdout]  --> src/smtp_client.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 |         header::{Cc, From, Header, HeaderName, InReplyTo, ReplyTo, To},
[INFO] [stdout]   |                                    ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 4 |         Mailbox, Mailboxes, MessageBuilder,
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |         authentication::Credentials, client::SmtpConnection, commands::*, extension::ClientId,
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         SMTP_PORT,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IMAP_AUTH_TYPE_KEY`, `IMAP_AUTH_URL_KEY`, `IMAP_CLIENT_ID_KEY`, `IMAP_CLIENT_SECRET_KEY`, `IMAP_DOMAIN_NAME_KEY`, `IMAP_PORT_KEY`, `IMAP_REDIRECT_URL_KEY`, `IMAP_TOKEN_URL_KEY`, `LOGIN_ID_KEY`, `LOGIN_PASSWORD_KEY`, `SMTP_DOMAIN_NAME_KEY`, `SMTP_PORT_KEY`, `ZK_EMAIL_PATH_KEY`
[INFO] [stdout]  --> src/coordinator.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     IMAP_AUTH_TYPE_KEY, IMAP_AUTH_URL_KEY, IMAP_CLIENT_ID_KEY, IMAP_CLIENT_SECRET_KEY,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     IMAP_DOMAIN_NAME_KEY, IMAP_PORT_KEY, IMAP_REDIRECT_URL_KEY, IMAP_TOKEN_URL_KEY, LOGIN_ID_KEY,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 4 |     LOGIN_PASSWORD_KEY, SMTP_DOMAIN_NAME_KEY, SMTP_PORT_KEY, ZK_EMAIL_PATH_KEY,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SMTP_DOMAIN_NAME_KEY`, `SMTP_PORT_KEY`
[INFO] [stdout]   --> src/smtp_client.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{config::{SMTP_DOMAIN_NAME_KEY, SMTP_PORT_KEY}, parse_email::{extract_from, extract_recipient_from_subject}};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `query_balance`
[INFO] [stdout]  --> src/coordinator.rs:8:35
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::chain::{query_address, query_balance};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Protocol`, `TlsConnector`
[INFO] [stdout]   --> src/smtp_client.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | use native_tls::{Protocol, TlsConnector};
[INFO] [stdout]    |                  ^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MiMCParameters`
[INFO] [stdout]   --> src/coordinator.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 |     MiMC, MiMCParameters
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `U256`
[INFO] [stdout]   --> src/coordinator.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 | use ethers::core::types::{U256};
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/smtp_client.rs:155:20
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 if (mbox.email == self.email_id.parse::<Address>()?) {
[INFO] [stdout]     |                    ^                                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 155 -                 if (mbox.email == self.email_id.parse::<Address>()?) {
[INFO] [stdout] 155 +                 if mbox.email == self.email_id.parse::<Address>()? {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bn254`, `FrParameters`
[INFO] [stdout]   --> src/coordinator.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | use ark_bn254::{Bn254, FrParameters, Fr};
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Address`, `H160`, `U256`
[INFO] [stdout]  --> src/strings.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ethers::core::types::{Address, U256, H160, H256};
[INFO] [stdout]   |                           ^^^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dotenv::dotenv`
[INFO] [stdout]   --> src/coordinator.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use dotenv::dotenv;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/strings.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 if (currency == "TEST" && remaining == 100.0) {
[INFO] [stdout]    |                    ^                                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 43 -                 if (currency == "TEST" && remaining == 100.0) {
[INFO] [stdout] 43 +                 if currency == "TEST" && remaining == 100.0 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]   --> src/coordinator.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use regex::Regex;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SMTP_PORT_KEY`
[INFO] [stdout]   --> src/main.rs:15:47
[INFO] [stdout]    |
[INFO] [stdout] 15 |     LOGIN_PASSWORD_KEY, SMTP_DOMAIN_NAME_KEY, SMTP_PORT_KEY, ZK_EMAIL_PATH_KEY,
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string`
[INFO] [stdout]   --> src/coordinator.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::string;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]   --> src/coordinator.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     env,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `calculate_address`, `send_to_modal`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     calculate_address, calculate_hash, handle_email, send_to_modal, validate_email_envelope,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::future::Future`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use core::future::Future;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_email_data_from_email`, `get_email_data`, `update_email_state_with_hash`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     get_email_data, get_email_data_from_email, get_pending_and_unvalidated_emails,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     migrate_email_dbs, set_email_state, update_email_state_with_hash,
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers_core::types::U256`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use ethers_core::types::U256;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `http::StatusCode`
[INFO] [stdout]   --> src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use http::StatusCode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `extract_from`, `extract_subject`
[INFO] [stdout]   --> src/main.rs:34:26
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::parse_email::{extract_from, extract_subject};
[INFO] [stdout]    |                          ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/db.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |         if (backoff == 15) {
[INFO] [stdout]    |            ^             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 20 -         if (backoff == 15) {
[INFO] [stdout] 20 +         if backoff == 15 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/db.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |         if (backoff < 7) {
[INFO] [stdout]    |            ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 31 -         if (backoff < 7) {
[INFO] [stdout] 31 +         if backoff < 7 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Fetch`
[INFO] [stdout]  --> src/imap_client.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 | use imap::types::{Fetch, Fetches};
[INFO] [stdout]   |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Client`
[INFO] [stdout]  --> src/imap_client.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use imap::{Authenticator, Client, Session, ImapConnection};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TlsStream`
[INFO] [stdout]  --> src/imap_client.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use native_tls::{self, TlsStream};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]   --> src/imap_client.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::net::TcpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::Iter`
[INFO] [stdout]   --> src/imap_client.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::slice::Iter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::executor::block_on`
[INFO] [stdout]  --> src/parse_email.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::executor::block_on;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sha256`
[INFO] [stdout]  --> src/parse_email.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sha2::{self, Digest, Sha256};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/parse_email.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResolverConfig`, `ResolverOpts`
[INFO] [stdout]   --> src/parse_email.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use trust_dns_resolver::config::{ResolverConfig, ResolverOpts};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RData`, `RecordType`
[INFO] [stdout]   --> src/parse_email.rs:11:37
[INFO] [stdout]    |
[INFO] [stdout] 11 | use trust_dns_resolver::proto::rr::{RData, RecordType};
[INFO] [stdout]    |                                     ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trust_dns_resolver::AsyncResolver`
[INFO] [stdout]   --> src/parse_email.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use trust_dns_resolver::AsyncResolver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/parse_email.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeaderName`, `InReplyTo`, `MessageBuilder`, `ReplyTo`, `SMTP_PORT`, `client::SmtpConnection`, `commands::*`, `extension::ClientId`
[INFO] [stdout]  --> src/smtp_client.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 |         header::{Cc, From, Header, HeaderName, InReplyTo, ReplyTo, To},
[INFO] [stdout]   |                                    ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 4 |         Mailbox, Mailboxes, MessageBuilder,
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |         authentication::Credentials, client::SmtpConnection, commands::*, extension::ClientId,
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         SMTP_PORT,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SMTP_DOMAIN_NAME_KEY`, `SMTP_PORT_KEY`
[INFO] [stdout]   --> src/smtp_client.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{config::{SMTP_DOMAIN_NAME_KEY, SMTP_PORT_KEY}, parse_email::{extract_from, extract_recipient_from_subject}};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Protocol`, `TlsConnector`
[INFO] [stdout]   --> src/smtp_client.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | use native_tls::{Protocol, TlsConnector};
[INFO] [stdout]    |                  ^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/smtp_client.rs:155:20
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 if (mbox.email == self.email_id.parse::<Address>()?) {
[INFO] [stdout]     |                    ^                                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 155 -                 if (mbox.email == self.email_id.parse::<Address>()?) {
[INFO] [stdout] 155 +                 if mbox.email == self.email_id.parse::<Address>()? {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Address`, `H160`, `U256`
[INFO] [stdout]  --> src/strings.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ethers::core::types::{Address, U256, H160, H256};
[INFO] [stdout]   |                           ^^^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/strings.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 if (currency == "TEST" && remaining == 100.0) {
[INFO] [stdout]    |                    ^                                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 43 -                 if (currency == "TEST" && remaining == 100.0) {
[INFO] [stdout] 43 +                 if currency == "TEST" && remaining == 100.0 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SMTP_PORT_KEY`
[INFO] [stdout]   --> src/main.rs:15:47
[INFO] [stdout]    |
[INFO] [stdout] 15 |     LOGIN_PASSWORD_KEY, SMTP_DOMAIN_NAME_KEY, SMTP_PORT_KEY, ZK_EMAIL_PATH_KEY,
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `calculate_address`, `send_to_modal`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     calculate_address, calculate_hash, handle_email, send_to_modal, validate_email_envelope,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::future::Future`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use core::future::Future;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_email_data_from_email`, `get_email_data`, `update_email_state_with_hash`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     get_email_data, get_email_data_from_email, get_pending_and_unvalidated_emails,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     migrate_email_dbs, set_email_state, update_email_state_with_hash,
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers_core::types::U256`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use ethers_core::types::U256;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `http::StatusCode`
[INFO] [stdout]   --> src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use http::StatusCode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `extract_from`, `extract_subject`
[INFO] [stdout]   --> src/main.rs:34:26
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::parse_email::{extract_from, extract_subject};
[INFO] [stdout]    |                          ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]    --> src/main.rs:187:25
[INFO] [stdout]     |
[INFO] [stdout] 187 |                     let hash = calculate_hash(&body);
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]    --> src/main.rs:187:25
[INFO] [stdout]     |
[INFO] [stdout] 187 |                     let hash = calculate_hash(&body);
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `email_handle_result`
[INFO] [stdout]    --> src/main.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 261 |             let email_handle_result = match validation_status {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_email_handle_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `email_handle_result`
[INFO] [stdout]    --> src/main.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 261 |             let email_handle_result = match validation_status {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_email_handle_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `validation_future`
[INFO] [stdout]    --> src/main.rs:293:25
[INFO] [stdout]     |
[INFO] [stdout] 293 |                     let validation_future = tokio::task::spawn(async move {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validation_future`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `validation_future`
[INFO] [stdout]    --> src/main.rs:293:25
[INFO] [stdout]     |
[INFO] [stdout] 293 |                     let validation_future = tokio::task::spawn(async move {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validation_future`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/chain.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |     let address = wallet.address();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/chain.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |     let address = wallet.address();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zk_email_circom_dir`
[INFO] [stdout]    --> src/coordinator.rs:130:46
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub async fn handle_email(raw_email: String, zk_email_circom_dir: &String, nonce: Option<String>) -> Result<()> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zk_email_circom_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zk_email_circom_dir`
[INFO] [stdout]    --> src/coordinator.rs:130:46
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub async fn handle_email(raw_email: String, zk_email_circom_dir: &String, nonce: Option<String>) -> Result<()> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zk_email_circom_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `custom_reply` is never read
[INFO] [stdout]    --> src/coordinator.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |     let mut custom_reply: String = "".to_string();
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `valid` is never read
[INFO] [stdout]    --> src/coordinator.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |     let mut valid: ValidationStatus = ValidationStatus::Pending;
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `balance_request` is never read
[INFO] [stdout]    --> src/coordinator.rs:216:13
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let mut balance_request: Option<BalanceRequest> = None;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender_salt_exists`
[INFO] [stdout]    --> src/coordinator.rs:252:10
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let (sender_salt_exists, sender_salt_raw) = get_or_store_salt(from.as_str(), message_id.as_str()).await.unwrap();
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_salt_exists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `recipient_salt_exists`
[INFO] [stdout]    --> src/coordinator.rs:253:10
[INFO] [stdout]     |
[INFO] [stdout] 253 |     let (recipient_salt_exists, recipient_salt_raw) = get_or_store_salt(recipient.as_str(), message_id.as_str()).await.unwrap();
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recipient_salt_exists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `recipient_address`
[INFO] [stdout]    --> src/coordinator.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout] 257 |     let recipient_address = calculate_address(recipient.as_str(), recipient_salt_raw.as_str()).await.unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recipient_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `custom_reply` is never read
[INFO] [stdout]    --> src/coordinator.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |     let mut custom_reply: String = "".to_string();
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `valid` is never read
[INFO] [stdout]    --> src/coordinator.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |     let mut valid: ValidationStatus = ValidationStatus::Pending;
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `balance_request` is never read
[INFO] [stdout]    --> src/coordinator.rs:216:13
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let mut balance_request: Option<BalanceRequest> = None;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender_salt_exists`
[INFO] [stdout]    --> src/coordinator.rs:252:10
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let (sender_salt_exists, sender_salt_raw) = get_or_store_salt(from.as_str(), message_id.as_str()).await.unwrap();
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_salt_exists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `recipient_salt_exists`
[INFO] [stdout]    --> src/coordinator.rs:253:10
[INFO] [stdout]     |
[INFO] [stdout] 253 |     let (recipient_salt_exists, recipient_salt_raw) = get_or_store_salt(recipient.as_str(), message_id.as_str()).await.unwrap();
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recipient_salt_exists`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `recipient_address`
[INFO] [stdout]    --> src/coordinator.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout] 257 |     let recipient_address = calculate_address(recipient.as_str(), recipient_salt_raw.as_str()).await.unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recipient_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `enough_balance` is never read
[INFO] [stdout]   --> src/strings.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut enough_balance = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `enough_balance` is never read
[INFO] [stdout]   --> src/strings.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut enough_balance = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tls`
[INFO] [stdout]   --> src/imap_client.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let tls = native_tls::TlsConnector::builder().build()?;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_tls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tls`
[INFO] [stdout]   --> src/imap_client.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let tls = native_tls::TlsConnector::builder().build()?;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_tls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/imap_client.rs:133:64
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let idle_result = self.imap_session.idle().wait_while(|response| {false});
[INFO] [stdout]     |                                                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/imap_client.rs:133:64
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let idle_result = self.imap_session.idle().wait_while(|response| {false});
[INFO] [stdout]     |                                                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/imap_client.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let mut MAX_RETRIES = 5;
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/imap_client.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let mut MAX_RETRIES = 5;
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/imap_client.rs:171:26
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     for (idx, uid) in uids.into_iter().enumerate() {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/imap_client.rs:180:21
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 Err(e) => {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/imap_client.rs:171:26
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     for (idx, uid) in uids.into_iter().enumerate() {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/imap_client.rs:180:21
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 Err(e) => {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `force_localhost`
[INFO] [stdout]    --> src/chain.rs:212:35
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub async fn get_pending_tx_count(force_localhost: bool, wallet_address: H160) -> Result<usize, Error> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_force_localhost`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `force_localhost`
[INFO] [stdout]    --> src/chain.rs:212:35
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub async fn get_pending_tx_count(force_localhost: bool, wallet_address: H160) -> Result<usize, Error> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_force_localhost`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wallet_address`
[INFO] [stdout]    --> src/chain.rs:212:58
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub async fn get_pending_tx_count(force_localhost: bool, wallet_address: H160) -> Result<usize, Error> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wallet_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wallet_address`
[INFO] [stdout]    --> src/chain.rs:212:58
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub async fn get_pending_tx_count(force_localhost: bool, wallet_address: H160) -> Result<usize, Error> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wallet_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]    --> src/coordinator.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let from = extract_from(raw_email).unwrap_or("".to_string());
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subject`
[INFO] [stdout]    --> src/coordinator.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let subject = extract_subject(raw_email).unwrap_or("".to_string());
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subject`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]    --> src/coordinator.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let from = extract_from(raw_email).unwrap_or("".to_string());
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subject`
[INFO] [stdout]    --> src/coordinator.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let subject = extract_subject(raw_email).unwrap_or("".to_string());
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subject`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/parse_email.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sha2::{self, Digest, Sha256};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/parse_email.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sha2::{self, Digest, Sha256};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `confirmation`
[INFO] [stdout]    --> src/chain.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let confirmation = sender.reply_all(&raw_email, &reply, send_to_recipient);
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_confirmation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/chain.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |     let mut sender: EmailSenderClient = EmailSenderClient::new(
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `confirmation`
[INFO] [stdout]    --> src/chain.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let confirmation = sender.reply_all(&raw_email, &reply, send_to_recipient);
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_confirmation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `confirmation`
[INFO] [stdout]    --> src/chain.rs:363:9
[INFO] [stdout]     |
[INFO] [stdout] 363 |     let confirmation = sender.send_new_email(&new_subject,&raw_email, &reply);
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_confirmation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_to_recipient`
[INFO] [stdout]    --> src/chain.rs:328:76
[INFO] [stdout]     |
[INFO] [stdout] 328 | fn send_final_recipient_intro(nonce: &str, reply: &str, new_subject: &str, send_to_recipient: bool) {
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_to_recipient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/chain.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |     let mut sender: EmailSenderClient = EmailSenderClient::new(
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `confirmation`
[INFO] [stdout]    --> src/chain.rs:363:9
[INFO] [stdout]     |
[INFO] [stdout] 363 |     let confirmation = sender.send_new_email(&new_subject,&raw_email, &reply);
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_confirmation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_to_recipient`
[INFO] [stdout]    --> src/chain.rs:328:76
[INFO] [stdout]     |
[INFO] [stdout] 328 | fn send_final_recipient_intro(nonce: &str, reply: &str, new_subject: &str, send_to_recipient: bool) {
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_to_recipient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/chain.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |     let mut sender: EmailSenderClient = EmailSenderClient::new(
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/chain.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |     let mut sender: EmailSenderClient = EmailSenderClient::new(
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `manipulation_id`
[INFO] [stdout]   --> src/processer.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let manipulation_id = subject_regex
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manipulation_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/smtp_client.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut client = SmtpTransport::relay(smtp_address)
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `manipulation_id`
[INFO] [stdout]   --> src/processer.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let manipulation_id = subject_regex
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manipulation_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/smtp_client.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut client = SmtpTransport::relay(smtp_address)
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status`, `message`, and `result` are never read
[INFO] [stdout]    --> src/chain.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 184 | struct EtherscanResponse {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 185 |     status: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 186 |     message: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 187 |     result: Vec<Transaction>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EtherscanResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/chain.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 191 | struct Transaction {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 192 |     blockNumber: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 193 |     timeStamp: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 194 |     hash: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 195 |     nonce: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 196 |     blockHash: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 197 |     transactionIndex: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 198 |     from: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 199 |     to: String,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 200 |     value: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 201 |     gas: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 202 |     gasPrice: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 203 |     isError: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 204 |     txreceipt_status: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 205 |     input: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 206 |     contractAddress: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 207 |     cumulativeGasUsed: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 208 |     gasUsed: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 209 |     confirmations: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Transaction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_final_recipient_intro` is never used
[INFO] [stdout]    --> src/chain.rs:328:4
[INFO] [stdout]     |
[INFO] [stdout] 328 | fn send_final_recipient_intro(nonce: &str, reply: &str, new_subject: &str, send_to_recipient: bool) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `receiver` is never read
[INFO] [stdout]  --> src/processer.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct EmailProcesser {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 9 |     receiver: ImapClient,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `EmailProcesser` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `SUBJECT_REGEX` and `process_one_fetched` are never used
[INFO] [stdout]   --> src/processer.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl EmailProcesser {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 13 |     const SUBJECT_REGEX: &'static str = r"Email Wallet Manipulation \d+";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn process_one_fetched(fetch: Fetch) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/main.rs:265:46
[INFO] [stdout]     |
[INFO] [stdout] 265 |                         &zk_email_circom_path.clone().to_string(),
[INFO] [stdout]     |                                              ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blockNumber` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     blockNumber: String,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `block_number`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `timeStamp` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     timeStamp: String,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `time_stamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blockHash` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 |     blockHash: String,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `block_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `transactionIndex` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     transactionIndex: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `transaction_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `gasPrice` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     gasPrice: String,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `gas_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isError` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     isError: String,
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to snake case: `is_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `contractAddress` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 206 |     contractAddress: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `contract_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `cumulativeGasUsed` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 |     cumulativeGasUsed: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `cumulative_gas_used`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `gasUsed` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     gasUsed: String,
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to snake case: `gas_used`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MAX_RETRIES` should have a snake case name
[INFO] [stdout]    --> src/imap_client.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let mut MAX_RETRIES = 5;
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `max_retries`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/strings.rs:34:16
[INFO] [stdout]    |
[INFO] [stdout] 34 |         address.clone(),
[INFO] [stdout]    |                ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status`, `message`, and `result` are never read
[INFO] [stdout]    --> src/chain.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 184 | struct EtherscanResponse {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 185 |     status: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 186 |     message: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 187 |     result: Vec<Transaction>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EtherscanResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/chain.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 191 | struct Transaction {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 192 |     blockNumber: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 193 |     timeStamp: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 194 |     hash: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 195 |     nonce: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 196 |     blockHash: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 197 |     transactionIndex: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 198 |     from: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 199 |     to: String,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 200 |     value: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 201 |     gas: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 202 |     gasPrice: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 203 |     isError: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 204 |     txreceipt_status: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 205 |     input: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 206 |     contractAddress: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 207 |     cumulativeGasUsed: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 208 |     gasUsed: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 209 |     confirmations: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Transaction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_final_recipient_intro` is never used
[INFO] [stdout]    --> src/chain.rs:328:4
[INFO] [stdout]     |
[INFO] [stdout] 328 | fn send_final_recipient_intro(nonce: &str, reply: &str, new_subject: &str, send_to_recipient: bool) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `receiver` is never read
[INFO] [stdout]  --> src/processer.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct EmailProcesser {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 9 |     receiver: ImapClient,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `EmailProcesser` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `SUBJECT_REGEX` and `process_one_fetched` are never used
[INFO] [stdout]   --> src/processer.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl EmailProcesser {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 13 |     const SUBJECT_REGEX: &'static str = r"Email Wallet Manipulation \d+";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn process_one_fetched(fetch: Fetch) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/main.rs:265:46
[INFO] [stdout]     |
[INFO] [stdout] 265 |                         &zk_email_circom_path.clone().to_string(),
[INFO] [stdout]     |                                              ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blockNumber` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     blockNumber: String,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `block_number`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `timeStamp` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     timeStamp: String,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `time_stamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blockHash` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 |     blockHash: String,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `block_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `transactionIndex` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     transactionIndex: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `transaction_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `gasPrice` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     gasPrice: String,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `gas_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isError` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     isError: String,
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to snake case: `is_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `contractAddress` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 206 |     contractAddress: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `contract_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `cumulativeGasUsed` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 |     cumulativeGasUsed: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `cumulative_gas_used`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `gasUsed` should have a snake case name
[INFO] [stdout]    --> src/chain.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     gasUsed: String,
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to snake case: `gas_used`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/chain.rs:470:25
[INFO] [stdout]     |
[INFO] [stdout] 470 |                 assert!(count >= 0, "Pending transaction count must be non-negative");
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MAX_RETRIES` should have a snake case name
[INFO] [stdout]    --> src/imap_client.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let mut MAX_RETRIES = 5;
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `max_retries`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/strings.rs:34:16
[INFO] [stdout]    |
[INFO] [stdout] 34 |         address.clone(),
[INFO] [stdout]    |                ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 85 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 87 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s
[INFO] running `Command { std: "docker" "inspect" "3124044dae72c9eaf27d4f98f0c882be035f3225b3f5c8b035a0bd790c26a27d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3124044dae72c9eaf27d4f98f0c882be035f3225b3f5c8b035a0bd790c26a27d", kill_on_drop: false }`
[INFO] [stdout] 3124044dae72c9eaf27d4f98f0c882be035f3225b3f5c8b035a0bd790c26a27d
