[INFO] cloning repository https://github.com/garrettkolson/pneumatic_core
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/garrettkolson/pneumatic_core" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgarrettkolson%2Fpneumatic_core", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgarrettkolson%2Fpneumatic_core'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6b74632f38f700b90da9ca9502ac8c2fc526a0d6
[INFO] checking garrettkolson/pneumatic_core against 5c543b0b8c73c7b72bc8284ced4fb22ead15734d for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgarrettkolson%2Fpneumatic_core" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/garrettkolson/pneumatic_core
[INFO] finished tweaking git repo https://github.com/garrettkolson/pneumatic_core
[INFO] tweaked toml for git repo https://github.com/garrettkolson/pneumatic_core written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/garrettkolson/pneumatic_core on toolchain 5c543b0b8c73c7b72bc8284ced4fb22ead15734d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/garrettkolson/pneumatic_core 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" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasmi_ir v1.1.0
[INFO] [stderr]   Downloaded wasmi_core v1.1.0
[INFO] [stderr]   Downloaded wasmi_collections v1.1.0
[INFO] [stderr]   Downloaded string-interner v0.19.0
[INFO] [stderr]   Downloaded rns-crypto v0.1.9
[INFO] [stderr]   Downloaded x25519-dalek v3.0.0
[INFO] [stderr]   Downloaded dashmap v7.0.0-rc2
[INFO] [stderr]   Downloaded cc v1.2.20
[INFO] [stderr]   Downloaded wasmi v1.1.0
[INFO] [stderr]   Downloaded rns-core v0.1.16
[INFO] [stderr]   Downloaded wasmparser v0.239.0
[INFO] [stderr]   Downloaded blake2b_simd v1.0.5
[INFO] [stderr]   Downloaded file-lock v2.1.11
[INFO] [stderr]   Downloaded rns-net v0.7.0
[INFO] [stderr]   Downloaded pasta_curves v0.5.2
[INFO] [stderr]   Downloaded generator v0.8.4
[INFO] [stderr]   Downloaded moka v0.12.10
[INFO] [stderr]   Downloaded uuid v1.9.1
[INFO] [stderr]   Downloaded halo2_proofs v0.3.5
[INFO] [stderr]   Downloaded aes v0.9.2
[INFO] [stderr]   Downloaded pqcrypto-mlkem v0.1.1
[INFO] [stderr]   Downloaded pqcrypto-mldsa v0.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 39e0bd5d381212bc993d4e3b6fd993a31f8244257212235f9de59f07ac8f5e58
[INFO] running `Command { std: "docker" "start" "39e0bd5d381212bc993d4e3b6fd993a31f8244257212235f9de59f07ac8f5e58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "39e0bd5d381212bc993d4e3b6fd993a31f8244257212235f9de59f07ac8f5e58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "39e0bd5d381212bc993d4e3b6fd993a31f8244257212235f9de59f07ac8f5e58" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "39e0bd5d381212bc993d4e3b6fd993a31f8244257212235f9de59f07ac8f5e58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "39e0bd5d381212bc993d4e3b6fd993a31f8244257212235f9de59f07ac8f5e58" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]     Checking spin v0.9.9
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking futures-core v0.3.33
[INFO] [stderr]     Checking cmov v0.5.4
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking bitvec v1.1.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.7
[INFO] [stderr]     Checking either v1.17.0
[INFO] [stderr]    Compiling rns-crypto v0.1.9
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking futures-sink v0.3.33
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking ctutils v0.4.2
[INFO] [stderr]     Checking arrayvec v0.7.8
[INFO] [stderr]    Compiling wasmparser v0.239.0
[INFO] [stderr]    Compiling rns-core v0.1.16
[INFO] [stderr]     Checking futures-channel v0.3.33
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking futures-task v0.3.33
[INFO] [stderr]    Compiling portable-atomic v1.11.0
[INFO] [stderr]     Checking constant_time_eq v0.4.2
[INFO] [stderr]     Checking futures-io v0.3.33
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking blake2b_simd v1.0.5
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]     Checking wasmi_core v1.1.0
[INFO] [stderr]    Compiling rns-net v0.7.0
[INFO] [stderr]     Checking bytes v1.6.1
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling curve25519-dalek v5.0.0
[INFO] [stderr]    Compiling moka v0.12.10
[INFO] [stderr]    Compiling cc v1.2.20
[INFO] [stderr]     Checking pqcrypto-traits v0.3.5
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking uuid v1.9.1
[INFO] [stderr]     Checking socket2 v0.6.5
[INFO] [stderr]     Checking rmp v0.8.14
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking wasmi_ir v1.1.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking hashbrown v0.15.3
[INFO] [stderr]     Checking wasmi_collections v1.1.0
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking hybrid-array v0.4.14
[INFO] [stderr]     Checking strum v0.27.1
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]    Compiling pqcrypto-internals v0.2.11
[INFO] [stderr]    Compiling bzip2-sys v0.1.13+1.0.8
[INFO] [stderr]    Compiling file-lock v2.1.11
[INFO] [stderr]    Compiling pqcrypto-mlkem v0.1.1
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]    Compiling pqcrypto-mldsa v0.1.2
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking bzip2 v0.5.2
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]     Checking inout v0.2.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking block-buffer v0.12.1
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking dashmap v7.0.0-rc2
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.7
[INFO] [stderr]     Checking universal-hash v0.6.1
[INFO] [stderr]     Checking cipher v0.5.2
[INFO] [stderr]     Checking aead v0.6.1
[INFO] [stderr]     Checking polyval v0.7.3
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking ctr v0.10.1
[INFO] [stderr]     Checking aes v0.9.2
[INFO] [stderr]     Checking ghash v0.6.0
[INFO] [stderr]     Checking pasta_curves v0.5.2
[INFO] [stderr]     Checking aes-gcm v0.11.0
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling futures-macro v0.3.33
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling strum_macros v0.27.1
[INFO] [stderr]     Checking tokio v1.44.2
[INFO] [stderr]     Checking wasmi v1.1.0
[INFO] [stderr]     Checking futures-util v0.3.33
[INFO] [stderr]     Checking thiserror v1.0.61
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking halo2_proofs v0.3.5
[INFO] [stderr]     Checking x25519-dalek v3.0.0
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking futures-executor v0.3.33
[INFO] [stderr]     Checking futures v0.3.33
[INFO] [stderr]     Checking rmp-serde v1.3.0
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking pneumatic_core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TcpListener`
[INFO] [stdout]  --> src/conns/senders.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::net::{SocketAddr, TcpListener, TcpStream};
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnixListener`
[INFO] [stdout]  --> src/conns/senders.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::os::unix::net::{UnixListener, UnixStream};
[INFO] [stdout]   |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]   --> src/contracts.rs:17:34
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::collections::{BTreeMap, HashMap};
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instance`
[INFO] [stdout]   --> src/contracts/wasm.rs:39:49
[INFO] [stdout]    |
[INFO] [stdout] 39 |     Caller, Config, Engine, Extern, ExternType, Instance, Linker, Memory, Module, Store,
[INFO] [stdout]    |                                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::IpAddr::V4`
[INFO] [stdout]  --> src/data.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::net::IpAddr::V4;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IpAddr`
[INFO] [stdout]  --> src/data.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::net::{IpAddr, Ipv4Addr, SocketAddr, SocketAddrV4};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/data.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `moka::sync::Cache`
[INFO] [stdout]  --> src/data.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use moka::sync::Cache;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `OnceLock`, and `RwLock`
[INFO] [stdout]  --> src/data.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, OnceLock, RwLock};
[INFO] [stdout]   |                 ^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::error::Category::Data`
[INFO] [stdout]  --> src/data.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::error::Category::Data;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RnsSender`
[INFO] [stdout]  --> src/gossiper.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::conns::senders::{RnsSender, Sender};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Receiver`
[INFO] [stdout]  --> src/server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::sync::mpsc::Receiver;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/tokens.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::encoding::serialize_to_bytes_rmp`
[INFO] [stdout]  --> src/tokens.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::encoding::serialize_to_bytes_rmp;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> src/validation.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ReconciledSignatures`
[INFO] [stdout]   --> src/validation.rs:10:85
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::errors::{ValidationFailureReason, TransactionRiskFactor, PneumaticError, ReconciledSignatures};
[INFO] [stdout]    |                                                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PublicInputs`
[INFO] [stdout]   --> src/validation.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     action_circuit_for_verifying_key, PublicInputs, ShieldedVerifier, public_inputs_from_shielded_tx,
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TransactionRiskFactor`
[INFO] [stdout]  --> src/registry.rs:7:46
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::errors::{ValidationFailureReason, TransactionRiskFactor};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dashmap::mapref::entry::Entry`
[INFO] [stdout]   --> src/registry/signatures.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         use dashmap::mapref::entry::Entry;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Field`
[INFO] [stdout]   --> src/shielded/note.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | use ff::{Field, FromUniformBytes, PrimeField};
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Group`
[INFO] [stdout]   --> src/shielded/note.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 | use group::{Curve, Group};
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ff::Field`
[INFO] [stdout]   --> src/shielded/roots.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use ff::Field;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EqAffine` and `Expression`
[INFO] [stdout]   --> src/shielded/circuit.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pasta::{EqAffine, Fp},
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] 28 |     plonk::{
[INFO] [stdout] 29 |         Advice, Column, Circuit, ConstraintSystem, Error, Expression, Fixed, Instance, Selector,
[INFO] [stdout]    |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Affine as EpAffine`
[INFO] [stdout]   --> src/shielded/circuit.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 | use pasta_curves::pallas::{Affine as EpAffine, Scalar as Fq};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalMerkleTree`
[INFO] [stdout]   --> src/shielded/circuit.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 39 | use crate::shielded::tree::{IncrementalMerkleTree, MembershipProof, DEFAULT_DEPTH};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/conns.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/conns.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/conns.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::io::{Read, Write};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> src/conns.rs:31:31
[INFO] [stdout]    |
[INFO] [stdout] 31 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractEngine`
[INFO] [stdout]   --> src/contracts/scan.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ContractEngine, ContractEngineRegistry, ContractError, ExecutionInput, InstructionProgram,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractEngine`
[INFO] [stdout]   --> src/contracts/call.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 | use super::{ContractEngine, ContractError, ContractEngineRegistry, ExecutionInput, select_engine};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Field`
[INFO] [stdout]   --> src/shielded/tree.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | use ff::{Field, PrimeField};
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum::IntoEnumIterator`
[INFO] [stdout]  --> src/node.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use strum::IntoEnumIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude`
[INFO] [stdout]  --> src/blocks.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{Utc, prelude::*};
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/blocks.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/config.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let mut type_configs = Self::default_type_configs();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/config.rs:320:13
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let mut environment_metadata = DashMap::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/contracts/wasm.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let mut data = mem.data_mut(caller);
[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/contracts/wasm.rs:290:25
[INFO] [stdout]     |
[INFO] [stdout] 290 |                     let mut data = mem.data_mut(&mut caller);
[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/contracts/wasm.rs:516:17
[INFO] [stdout]     |
[INFO] [stdout] 516 |             let mut data = memory.data_mut(&mut store);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_id`
[INFO] [stdout]   --> src/data.rs:70:33
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn get_shielded_pool(&self, partition_id: &str) -> Result<Option<ShieldedPoolState>, DataError> {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/data.rs:82:34
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn save_shielded_pool(&self, state: &ShieldedPoolState, partition_id: &str) -> Result<(), DataError> {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_id`
[INFO] [stdout]   --> src/data.rs:82:61
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn save_shielded_pool(&self, state: &ShieldedPoolState, partition_id: &str) -> Result<(), DataError> {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/data.rs:743:22
[INFO] [stdout]     |
[INFO] [stdout] 743 |     pub fn with_user(mut self, key: Vec<u8>, partition_id: String, user: User) -> Self {
[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/data.rs:756:32
[INFO] [stdout]     |
[INFO] [stdout] 756 |     pub fn with_stake_snapshot(mut self, epoch: u64, snapshot: StakeSet) -> Self {
[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/data.rs:764:42
[INFO] [stdout]     |
[INFO] [stdout] 764 |     pub fn with_corrupted_stake_snapshot(mut self, epoch: u64, snapshot: StakeSet) -> Self {
[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/data.rs:774:31
[INFO] [stdout]     |
[INFO] [stdout] 774 |     pub fn with_shielded_pool(mut self, state: ShieldedPoolState) -> Self {
[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/data.rs:782:41
[INFO] [stdout]     |
[INFO] [stdout] 782 |     pub fn with_corrupted_shielded_pool(mut self, state: ShieldedPoolState) -> Self {
[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/data.rs:790:30
[INFO] [stdout]     |
[INFO] [stdout] 790 |     pub fn with_executor_set(mut self, epoch: u64, set: ExecutorSet) -> Self {
[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/node/registry/registration.rs:634:9
[INFO] [stdout]     |
[INFO] [stdout] 634 |     let mut guard = lock.lock().unwrap_or_else(|poisoned| poisoned.into_inner());
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `guard`
[INFO] [stdout]    --> src/node/registry/registration.rs:634:9
[INFO] [stdout]     |
[INFO] [stdout] 634 |     let mut guard = lock.lock().unwrap_or_else(|poisoned| poisoned.into_inner());
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/stake_index.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |     let mut index: DashMap<Vec<u8>, u64> = DashMap::new();
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `validation`
[INFO] [stdout]    --> src/registry/pending.rs:155:56
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let TransactionState::Validated { transaction, validation } = old_state else {
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: try ignoring the field: `validation: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/shielded/poseidon.rs:225:14
[INFO] [stdout]     |
[INFO] [stdout] 225 |         for (i, x) in xs.iter().enumerate() {
[INFO] [stdout]     |              ^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `T`
[INFO] [stdout]     |
[INFO] [stdout] 225 -         for (i, x) in xs.iter().enumerate() {
[INFO] [stdout] 225 +         for (shielded::poseidon::T, x) in xs.iter().enumerate() {
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 225 |         for (_i, x) in xs.iter().enumerate() {
[INFO] [stdout]     |              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/shielded/poseidon.rs:226:18
[INFO] [stdout]     |
[INFO] [stdout] 226 |             for (j, y) in ys.iter().enumerate() {
[INFO] [stdout]     |                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `T`
[INFO] [stdout]     |
[INFO] [stdout] 226 -             for (j, y) in ys.iter().enumerate() {
[INFO] [stdout] 226 +             for (shielded::poseidon::T, y) in ys.iter().enumerate() {
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 226 |             for (_j, y) in ys.iter().enumerate() {
[INFO] [stdout]     |                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/shielded/circuit.rs:106:18
[INFO] [stdout]     |
[INFO] [stdout] 106 |             for (i, x) in xs.iter().enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/shielded/circuit.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 for (j, y) in ys.iter().enumerate() {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/shielded/circuit.rs:881:21
[INFO] [stdout]     |
[INFO] [stdout] 881 |                 let params = &CIRCUIT_POSEIDON_PARAMS;
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_TIMEOUT` is never used
[INFO] [stdout]   --> src/conns/senders.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const TEST_TIMEOUT: Duration = Duration::from_secs(5);
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_secret` is never used
[INFO] [stdout]   --> src/conns/senders.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl UdsSender {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub(crate) fn with_secret(self, secret: Option<Vec<u8>>) -> Self {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_secret` is never used
[INFO] [stdout]    --> src/conns/senders.rs:122:19
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl TcpSender {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub(crate) fn with_secret(self, secret: Option<Vec<u8>>) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_type`, `config`, and `conn_factory` are never read
[INFO] [stdout]   --> src/gossiper.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Gossiper {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 17 |     /// The node type this gossiper belongs to
[INFO] [stdout] 18 |     node_type: NodeRegistryType,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     /// Config for the node
[INFO] [stdout] 20 |     config: Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     /// Connection factory for sending messages
[INFO] [stdout] 22 |     conn_factory: ConnFactory,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `select_registration_node_type` and `can_select_this_type` are never used
[INFO] [stdout]    --> src/node/registry/registration.rs:172:15
[INFO] [stdout]     |
[INFO] [stdout]   7 | impl NodeRegistry {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 172 | pub(crate) fn select_registration_node_type(&self, request: &NodeRequest) -> Option<NodeRegistryType> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 | fn can_select_this_type(&self, request: &NodeRequest, node_type: NodeRegistryType) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `test_block` is never used
[INFO] [stdout]   --> src/blocks.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Block {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub(crate) fn test_block(prev_hash: Vec<u8>) -> Self {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `min_stake` is never read
[INFO] [stdout]   --> src/validation/executed.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ExecutedBlockValidatorSpec {
[INFO] [stdout]    |            -------------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     min_stake: u64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExecutedBlockValidatorSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/validation/shielded.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct ShieldedValidationSpec {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] 64 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShieldedValidationSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `items` is never read
[INFO] [stdout]   --> src/epoch/leader.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Shuffler {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 57 |     /// Original items (not mutated).
[INFO] [stdout] 58 |     items: Vec<Vec<u8>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pending_txs` is never read
[INFO] [stdout]   --> src/action_router.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct ActionRouter {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pending_txs: Arc<RwLock<PendingTransactionRegistry>>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALPHA_EXP` is never used
[INFO] [stdout]   --> src/shielded/poseidon.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 | const ALPHA_EXP: u64 = 7;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fp_from_bytes` is never used
[INFO] [stdout]   --> src/shielded/tree.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn fp_from_bytes<'de, D: Deserializer<'de>>(de: D) -> Result<Fp, D::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POSEIDON_ALPHA` is never used
[INFO] [stdout]   --> src/shielded/circuit.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const POSEIDON_ALPHA: u64 = 7;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rc` and `mds` are never read
[INFO] [stdout]   --> src/shielded/circuit.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct CircuitPoseidonParams {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 58 |     /// Round constants: one `[Fp; POSEIDON_T]` per round.
[INFO] [stdout] 59 |     pub rc: [[Fp; POSEIDON_T]; POSEIDON_TOTAL_ROUNDS],
[INFO] [stdout]    |         ^^
[INFO] [stdout] 60 |     /// MDS matrix: `[[Fp; POSEIDON_T]; POSEIDON_T]`.
[INFO] [stdout] 61 |     pub mds: [[Fp; POSEIDON_T]; POSEIDON_T],
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/transactions.rs:1154:22
[INFO] [stdout]      |
[INFO] [stdout] 1154 |     pub fn token_ids(&self) -> std::collections::hash_map::Keys<Vec<u8>, Vec<String>> {
[INFO] [stdout]      |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]      = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1154 |     pub fn token_ids(&self) -> std::collections::hash_map::Keys<'_, Vec<u8>, Vec<String>> {
[INFO] [stdout]      |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/registry/pending.rs:218:32
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn get_transaction_mut(&self, id: &str) -> Result<dashmap::mapref::one::RefMut<String, PendingTransaction>, PneumaticError> {
[INFO] [stdout]     |                                ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn get_transaction_mut(&self, id: &str) -> Result<dashmap::mapref::one::RefMut<'_, String, PendingTransaction>, PneumaticError> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/action_router.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     async fn route(&self, message: Message) -> Result<ActionRouterResult, PneumaticError>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 24 -     async fn route(&self, message: Message) -> Result<ActionRouterResult, PneumaticError>;
[INFO] [stdout] 24 +     fn route(&self, message: Message) -> impl std::future::Future<Output = Result<ActionRouterResult, PneumaticError>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking pneumatic_committer v0.1.0 (/opt/rustwide/workdir/committer)
[INFO] [stderr]     Checking pneumatic_data_service v0.1.0 (/opt/rustwide/workdir/data-service)
[INFO] [stderr]     Checking pneumatic_prover v0.1.0 (/opt/rustwide/workdir/prover)
[INFO] [stderr]     Checking pneumatic_sentinel v0.1.0 (/opt/rustwide/workdir/sentinel)
[INFO] [stderr]     Checking pneumatic_finalizer v0.1.0 (/opt/rustwide/workdir/finalizer)
[INFO] [stderr]     Checking pneumatic_executor v0.1.0 (/opt/rustwide/workdir/executor)
[INFO] [stderr]     Checking pneumatic_testnet_gen v0.1.0 (/opt/rustwide/workdir/testnet-gen)
[INFO] [stderr]     Checking pneumatic_client v0.1.0 (/opt/rustwide/workdir/client)
[INFO] [stdout] warning: unused import: `deserialize_rmp_to`
[INFO] [stdout]   --> client/src/lib.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 | use pneumatic_core::encoding::{deserialize_rmp_to, serialize_to_bytes_rmp};
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ff::Field`
[INFO] [stdout]   --> prover/src/build.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ff::Field;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PublicInputs`
[INFO] [stdout]   --> prover/src/build.rs:33:86
[INFO] [stdout]    |
[INFO] [stdout] 33 |     bytes_to_root, commit, nullifier, ActionCircuit, DEFAULT_DEPTH, MembershipProof, PublicInputs,
[INFO] [stdout]    |                                                                                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockFactory` and `Blockchain`
[INFO] [stdout]   --> committer/src/committer.rs:14:52
[INFO] [stdout]    |
[INFO] [stdout] 14 | use pneumatic_core::blocks::{AppendOutcome, Block, BlockFactory, Blockchain, FinalityStatus};
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockProposer`, `ExecutorSet`, and `IEpochLeaderSelector`
[INFO] [stdout]   --> committer/src/committer.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 | ...:epoch::{BlockProposer, CandidateRegistry, ConflictResolution, EpochBoundaryDetector, ExecutorSet, IEpochLeaderSelector, IEpochRe...
[INFO] [stdout]    |             ^^^^^^^^^^^^^                                                                ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SignedTransaction`
[INFO] [stdout]   --> committer/src/committer.rs:25:56
[INFO] [stdout]    |
[INFO] [stdout] 25 | use pneumatic_core::transactions::{PendingTransaction, SignedTransaction, TransactionCommit, TransactionState};
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TransactionRiskFactor`
[INFO] [stdout]  --> finalizer/src/signature_collector.rs:6:68
[INFO] [stdout]   |
[INFO] [stdout] 6 | use pneumatic_core::errors::{PneumaticError, ReconciledSignatures, TransactionRiskFactor};
[INFO] [stdout]   |                                                                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pneumatic_core::encoding::serialize_to_bytes_rmp`
[INFO] [stdout]  --> finalizer/src/block_builder.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use pneumatic_core::encoding::serialize_to_bytes_rmp;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Role`
[INFO] [stdout]   --> testnet-gen/src/probe.rs:37:23
[INFO] [stdout]    |
[INFO] [stdout] 37 | use crate::topology::{Role, Mesh};
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pneumatic_core::crypto::Ed25519Provider`
[INFO] [stdout]   --> prover/src/note_builder.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use pneumatic_core::crypto::Ed25519Provider;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `commit`, `decrypt_note`, and `encrypt_note`
[INFO] [stdout]   --> prover/src/note_builder.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     commit, decrypt_note, encrypt_note, encrypt_note_to_two, NotePlaintext, ShieldedNote,
[INFO] [stdout]    |     ^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ff::Field`
[INFO] [stdout]   --> prover/src/build.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ff::Field;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pneumatic_core::crypto::Ed25519Provider`
[INFO] [stdout]   --> prover/src/build.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use pneumatic_core::crypto::Ed25519Provider;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PublicInputs`, `ShieldedVerifier`, and `root_to_bytes`
[INFO] [stdout]   --> prover/src/build.rs:33:86
[INFO] [stdout]    |
[INFO] [stdout] 33 |     bytes_to_root, commit, nullifier, ActionCircuit, DEFAULT_DEPTH, MembershipProof, PublicInputs,
[INFO] [stdout]    |                                                                                      ^^^^^^^^^^^^
[INFO] [stdout] 34 |     ShieldedNote, ShieldedVerifier, root_to_bytes,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::key::ShieldedIdentity`
[INFO] [stdout]   --> prover/src/build.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use crate::key::ShieldedIdentity;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::RngCore`
[INFO] [stdout]   --> finalizer/src/finalizer/tests/helpers.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use rand::RngCore;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TransactionRiskFactor`
[INFO] [stdout]  --> finalizer/src/signature_collector.rs:6:68
[INFO] [stdout]   |
[INFO] [stdout] 6 | use pneumatic_core::errors::{PneumaticError, ReconciledSignatures, TransactionRiskFactor};
[INFO] [stdout]   |                                                                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: duplicated attribute
[INFO] [stdout]    --> finalizer/src/signature_collector.rs:588:5
[INFO] [stdout]     |
[INFO] [stdout] 588 |     #[test]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(duplicate_macro_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pneumatic_core::encoding::serialize_to_bytes_rmp`
[INFO] [stdout]  --> finalizer/src/block_builder.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use pneumatic_core::encoding::serialize_to_bytes_rmp;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_finalize` is never used
[INFO] [stdout]    --> finalizer/src/finalizer/finalizing.rs:110:10
[INFO] [stdout]     |
[INFO] [stdout]   7 | impl Finalizer {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 | async fn try_finalize(&self, tx_id: &str) -> Result<Vec<u8>, PneumaticError> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `verifying_key` is never read
[INFO] [stdout]   --> finalizer/src/block_builder.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct BlockBuilder {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     verifying_key: VerifyingKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::helpers::*`
[INFO] [stdout]  --> executor/src/executor/tests/validation.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::helpers::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base_port`
[INFO] [stdout]    --> testnet-gen/src/topology.rs:413:13
[INFO] [stdout]     |
[INFO] [stdout] 413 |         let base_port = manifest["base_port"]
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_port`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `public_key` and `preload_tasks` are never read
[INFO] [stdout]    --> executor/src/executor.rs:267:5
[INFO] [stdout]     |
[INFO] [stdout] 265 | struct ExecutorHandle {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 266 |     env_id: String,
[INFO] [stdout] 267 |     public_key: Vec<u8>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     preload_tasks: Arc<Mutex<HashMap<String, Arc<DashMap<String, Result<ExecutionResult, String>>>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExecutorHandle` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeRegistryRequest` and `NodeTypeConfig`
[INFO] [stdout]  --> sentinel/src/sentinel/tests/helpers.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use pneumatic_core::node::{NodeRegistryRequest, NodeRegistryType, NodeType, NodeTypeConfig};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^                              ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deserialize_rmp_to`
[INFO] [stdout]   --> sentinel/src/sentinel/tests/helpers.rs:11:36
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use pneumatic_core::encoding::{deserialize_rmp_to, serialize_to_bytes_rmp};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pneumatic_core::messages::Message`
[INFO] [stdout]   --> sentinel/src/sentinel/tests/helpers.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use pneumatic_core::messages::Message;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ShieldedTransaction` and `TransactionState`
[INFO] [stdout]   --> sentinel/src/sentinel/tests/helpers.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |     PendingTransaction, ShieldedTransaction, Transaction, TransactionState, TransactionValidationResult,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PneumaticError` and `ValidationFailureReason`
[INFO] [stdout]   --> sentinel/src/sentinel/tests/helpers.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub use pneumatic_core::errors::{PneumaticError, TransactionRiskFactor, ValidationFailureReason};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ShieldedValidationDeps` and `ShieldedValidationSpec`
[INFO] [stdout]   --> sentinel/src/sentinel/tests/helpers.rs:26:35
[INFO] [stdout]    |
[INFO] [stdout] 26 |     SelfSignedBlockValidatorSpec, ShieldedValidationDeps, ShieldedValidationSpec,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pneumatic_core::crypto::Ed25519Provider`
[INFO] [stdout]    --> sentinel/src/sentinel/tests/epoching.rs:287:5
[INFO] [stdout]     |
[INFO] [stdout] 287 | use pneumatic_core::crypto::Ed25519Provider;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pneumatic_core::epoch::StakeSet`
[INFO] [stdout]    --> sentinel/src/sentinel/tests/epoching.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 288 | use pneumatic_core::epoch::StakeSet;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `group::GroupEncoding`
[INFO] [stdout]    --> sentinel/src/sentinel/tests/epoching.rs:289:5
[INFO] [stdout]     |
[INFO] [stdout] 289 | use group::GroupEncoding;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Base as Fp` and `Scalar as Fq`
[INFO] [stdout]    --> sentinel/src/sentinel/tests/epoching.rs:290:28
[INFO] [stdout]     |
[INFO] [stdout] 290 | use pasta_curves::pallas::{Base as Fp, Scalar as Fq};
[INFO] [stdout]     |                            ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ff::PrimeField`
[INFO] [stdout]    --> sentinel/src/sentinel/tests/epoching.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 291 | use ff::PrimeField; // `to_repr()` in the stale-root test
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Blockchain`
[INFO] [stdout]   --> committer/src/committer.rs:14:66
[INFO] [stdout]    |
[INFO] [stdout] 14 | use pneumatic_core::blocks::{AppendOutcome, Block, BlockFactory, Blockchain, FinalityStatus};
[INFO] [stdout]    |                                                                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockProposer`, `ExecutorSet`, and `IEpochLeaderSelector`
[INFO] [stdout]   --> committer/src/committer.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 | ...:epoch::{BlockProposer, CandidateRegistry, ConflictResolution, EpochBoundaryDetector, ExecutorSet, IEpochLeaderSelector, IEpochRe...
[INFO] [stdout]    |             ^^^^^^^^^^^^^                                                                ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StubDataProvider`
[INFO] [stdout]   --> committer/src/committer/tests/helpers.rs:12:57
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use pneumatic_core::data::{DataError, DataProvider, StubDataProvider};
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deserialize_rmp_to`
[INFO] [stdout]   --> committer/src/committer/tests/helpers.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use pneumatic_core::encoding::{deserialize_rmp_to, serialize_to_bytes_rmp};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PendingTransaction`, `ShieldedTransaction`, and `TransactionState`
[INFO] [stdout]   --> committer/src/committer/tests/helpers.rs:22:40
[INFO] [stdout]    |
[INFO] [stdout] 22 | ...::{PendingTransaction, SignedTransaction, Transaction, TransactionCommit, TransactionSignature, TransactionState, TransactionValidationResult, ShieldedTransaction};
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^                                                                           ^^^^^^^^^^^^^^^^                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PoolApplyOutcome`
[INFO] [stdout]   --> committer/src/committer/tests/helpers.rs:25:32
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use crate::shielded_pool::{PoolApplyOutcome, ShieldedPool};
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> committer/src/committer/tests/gas.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> committer/src/committer/tests/commit.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> committer/src/committer/tests/conflict.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> committer/src/committer/tests/epoch.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> committer/src/committer/tests/distribution.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base_port`
[INFO] [stdout]    --> testnet-gen/src/topology.rs:413:13
[INFO] [stdout]     |
[INFO] [stdout] 413 |         let base_port = manifest["base_port"]
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_port`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a_pk`
[INFO] [stdout]    --> sentinel/src/sentinel/tests/processing.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let a_pk = a.ed25519.public_key().expect("a public key");
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_a_pk`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pneumatic_core::crypto::HashProvider`
[INFO] [stdout]   --> executor/src/executor/tests/deploy.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use pneumatic_core::crypto::HashProvider;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sentinel`
[INFO] [stdout]    --> sentinel/src/sentinel/tests/processing.rs:721:10
[INFO] [stdout]     |
[INFO] [stdout] 721 |     let (sentinel, registry) = make_sentinel_fixture();
[INFO] [stdout]     |          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sentinel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> sentinel/src/sentinel/tests/processing.rs:722:10
[INFO] [stdout]     |
[INFO] [stdout] 722 |     let (token, _node_registry) = (
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]     --> sentinel/src/sentinel/tests/processing.rs:1148:13
[INFO] [stdout]      |
[INFO] [stdout] 1148 |         Err(other) => panic!("expected a Registry error, got a different variant"),
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_key`
[INFO] [stdout]   --> sentinel/src/sentinel/tests/finalizing.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let new_key = vec![2];
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> sentinel/src/sentinel/tests/routing.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut sentinel = sentinel_with_snapshot(StakeSet { stakers: std::collections::HashMap::new() });
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> sentinel/src/sentinel/tests/epoching.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let (mut sentinel, _registry) = make_sentinel_fixture_with_data_provider(data_provider);
[INFO] [stdout]    |          ----^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stranger_pk`
[INFO] [stdout]    --> finalizer/src/finalizer/tests/shielded.rs:299:9
[INFO] [stdout]     |
[INFO] [stdout] 299 |     let stranger_pk = stranger.ed25519.public_key().expect("stranger pk");
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stranger_pk`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shielded_pool` is never read
[INFO] [stdout]   --> committer/src/block_services.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct BlockServices {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     shielded_pool: Arc<ShieldedPool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bytes_to_hex` is never used
[INFO] [stdout]  --> committer/src/committer_error.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn bytes_to_hex(bytes: &[u8]) -> String {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> executor/src/executor/tests/upgrade.rs:177:19
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let (pending, params) = upgrade_entry(params, token_id.clone(), sender, 7);
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordingConnection` is never constructed
[INFO] [stdout]    --> sentinel/src/sentinel/tests/epoching.rs:295:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | struct RecordingConnection {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `public_key` and `preload_tasks` are never read
[INFO] [stdout]    --> executor/src/executor.rs:267:5
[INFO] [stdout]     |
[INFO] [stdout] 265 | struct ExecutorHandle {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 266 |     env_id: String,
[INFO] [stdout] 267 |     public_key: Vec<u8>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     preload_tasks: Arc<Mutex<HashMap<String, Arc<DashMap<String, Result<ExecutionResult, String>>>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExecutorHandle` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking pneumatic_node_server v0.1.0 (/opt/rustwide/workdir/node-server)
[INFO] [stdout] warning: unused variable: `collector`
[INFO] [stdout]    --> finalizer/src/signature_collector.rs:643:13
[INFO] [stdout]     |
[INFO] [stdout] 643 |         let collector = make_collector(registry.clone());
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_finalize` is never used
[INFO] [stdout]    --> finalizer/src/finalizer/finalizing.rs:110:10
[INFO] [stdout]     |
[INFO] [stdout]   7 | impl Finalizer {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 | async fn try_finalize(&self, tx_id: &str) -> Result<Vec<u8>, PneumaticError> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `register_finalizer` is never used
[INFO] [stdout]    --> finalizer/src/finalizer/tests/helpers.rs:177:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub fn register_finalizer(registry: &Arc<NodeRegistry>, voter: &NodeIdentity) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `verifying_key` is never read
[INFO] [stdout]   --> finalizer/src/block_builder.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct BlockBuilder {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     verifying_key: VerifyingKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/transport_integration.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let mut env_map = dashmap::DashMap::new();
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/transport_integration.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 203 |     let mut env_map = dashmap::DashMap::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]    --> tests/transport_integration.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |     let mut type_configs = dashmap::DashMap::new();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_note`
[INFO] [stdout]   --> tests/shielded_attacks.rs:33:43
[INFO] [stdout]    |
[INFO] [stdout] 33 | use pneumatic_prover::{build_shielded_tx, create_note, NoteOutput, ShieldedIdentity, SpendKey};
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pneumatic_core::rns::wrapper::RnsNetwork`
[INFO] [stdout]  --> tests/rns_live.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use pneumatic_core::rns::wrapper::RnsNetwork;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `else` clause
[INFO] [stdout]   --> examples/read_token_chain.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | /     let [addr, token_hex, partition] = [
[INFO] [stdout] 21 | |         args.first().map(String::as_str),
[INFO] [stdout] 22 | |         args.get(1).map(String::as_str),
[INFO] [stdout] 23 | |         args.get(2).map(String::as_str),
[INFO] [stdout] 24 | |     ] else {
[INFO] [stdout]    | |     - ^^^^
[INFO] [stdout]    | |_____|
[INFO] [stdout]    |       assigning to binding pattern will always succeed
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern always matches, so the else clause is unreachable
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::transport::route_data_plane`
[INFO] [stdout]    --> node-server/src/node_server.rs:215:16
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub(crate) use self::transport::route_data_plane;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `identity`
[INFO] [stdout]   --> tests/rns_live.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let identity = NodeIdentity::generate_in_memory();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_identity`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SigningKey` and `VerifyingKey`
[INFO] [stdout]   --> node-server/src/node_server/tests/helpers.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use ed25519_dalek::{SigningKey, VerifyingKey};
[INFO] [stdout]    |                         ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pneumatic_core::registry::TransactionSignatureRegistry`
[INFO] [stdout]   --> node-server/src/node_server/tests/helpers.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub use pneumatic_core::registry::TransactionSignatureRegistry;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BasicHashProvider` and `HashProvider`
[INFO] [stdout]   --> node-server/src/node_server/tests/helpers.rs:32:34
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub use pneumatic_core::crypto::{BasicHashProvider, HashProvider};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockProposer`, `CandidateRegistry`, `EpochBoundaryDetector`, and `Epoch`
[INFO] [stdout]   --> node-server/src/node_server/tests/helpers.rs:34:33
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub use pneumatic_core::epoch::{BlockProposer, CandidateRegistry, Epoch, EpochBoundaryDetector};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pneumatic_core::logging::Logger`
[INFO] [stdout]   --> node-server/src/node_server/tests/helpers.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub use pneumatic_core::logging::Logger;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pneumatic_core::node::registry::NodeRegistry`
[INFO] [stdout]   --> node-server/src/node_server/tests/helpers.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use pneumatic_core::node::registry::NodeRegistry;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pneumatic_core::node::stake_index::StakeIndex`
[INFO] [stdout]   --> node-server/src/node_server/tests/helpers.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub use pneumatic_core::node::stake_index::StakeIndex;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pneumatic_core::registry::PendingTransactionRegistry`
[INFO] [stdout]   --> node-server/src/node_server/tests/helpers.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub use pneumatic_core::registry::PendingTransactionRegistry;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pneumatic_committer::block_services::BlockServices`
[INFO] [stdout]   --> node-server/src/node_server/tests/helpers.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub use pneumatic_committer::block_services::BlockServices;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EpochReconciler`, `LeaderSelector`, `StakeStore`, and `StakingManager`
[INFO] [stdout]   --> node-server/src/node_server/tests/helpers.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     EpochReconciler, LeaderSelector, StakeStore, StakingManager,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CallContext`, `ContractEngineRegistry`, `ContractError`, `DeployParams`, `InstructionProgram`, `Op`, `SnapshotRef`, `TransferDelta`, `WasmResult`, and `deploy_contract`
[INFO] [stdout]    --> node-server/src/node_server/tests/e2e.rs:475:5
[INFO] [stdout]     |
[INFO] [stdout] 475 |     deploy_contract, CallContext, ContractEngine, ContractEngineRegistry, ContractError,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^                  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 476 |     DeployParams, ExecutionInput, InstructionProgram, Op, PinnedTarget, SnapshotRef,
[INFO] [stdout]     |     ^^^^^^^^^^^^                  ^^^^^^^^^^^^^^^^^^  ^^                ^^^^^^^^^^^
[INFO] [stdout] 477 |     TargetStateProvider, TransferDelta, WasmEngine, WasmResult,
[INFO] [stdout]     |                          ^^^^^^^^^^^^^              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ContractEngineRegistry` and `ContractEngine`
[INFO] [stdout]     --> node-server/src/node_server/tests/e2e.rs:1204:9
[INFO] [stdout]      |
[INFO] [stdout] 1204 |         ContractEngine, ContractEngineRegistry, DeployParams,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `port` is never read
[INFO] [stdout]    --> tests/pipeline_integration.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 277 | struct RnsNode {
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 280 |     port: u16,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> committer/tests/pipeline_integration.rs:1122:9
[INFO] [stdout]      |
[INFO] [stdout] 1122 |     let mut block1 = Block {
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> committer/tests/pipeline_integration.rs:1126:9
[INFO] [stdout]      |
[INFO] [stdout] 1126 |     let mut block2 = Block {
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractEngine`
[INFO] [stdout]    --> node-server/src/node_server/tests/e2e.rs:931:37
[INFO] [stdout]     |
[INFO] [stdout] 931 |     use pneumatic_core::contracts::{ContractEngine, ContractEngineRegistry, TransferDelta};
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractEngine`
[INFO] [stdout]     --> node-server/src/node_server/tests/e2e.rs:1356:50
[INFO] [stdout]      |
[INFO] [stdout] 1356 |     use pneumatic_core::contracts::{CallContext, ContractEngine, ContractEngineRegistry};
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractEngine`
[INFO] [stdout]     --> node-server/src/node_server/tests/e2e.rs:1797:37
[INFO] [stdout]      |
[INFO] [stdout] 1797 |     use pneumatic_core::contracts::{ContractEngine, ContractEngineRegistry};
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractEngine`
[INFO] [stdout]     --> node-server/src/node_server/tests/e2e.rs:1064:37
[INFO] [stdout]      |
[INFO] [stdout] 1064 |     use pneumatic_core::contracts::{ContractEngine, ContractEngineRegistry, WasmEngine};
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractEngine`
[INFO] [stdout]     --> node-server/src/node_server/tests/e2e.rs:1123:37
[INFO] [stdout]      |
[INFO] [stdout] 1123 |     use pneumatic_core::contracts::{ContractEngine, ContractEngineRegistry, WasmEngine};
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractEngine`
[INFO] [stdout]     --> node-server/src/node_server/tests/e2e.rs:1603:37
[INFO] [stdout]      |
[INFO] [stdout] 1603 |     use pneumatic_core::contracts::{ContractEngine, ContractEngineRegistry};
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractEngine`
[INFO] [stdout]    --> node-server/src/node_server/tests/e2e.rs:999:37
[INFO] [stdout]     |
[INFO] [stdout] 999 |     use pneumatic_core::contracts::{ContractEngine, ContractEngineRegistry};
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractEngine`
[INFO] [stdout]    --> node-server/src/node_server/tests/e2e.rs:475:35
[INFO] [stdout]     |
[INFO] [stdout] 475 |     deploy_contract, CallContext, ContractEngine, ContractEngineRegistry, ContractError,
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> committer/src/committer/tests/finality.rs:527:17
[INFO] [stdout]     |
[INFO] [stdout] 527 |     let boot = |name: &'static str| -> (Committer, Vec<u8>) {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx_id`
[INFO] [stdout]   --> committer/src/committer/tests/pool.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     tx_id: &str,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]    --> src/conns/uds.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     use std::path::Path;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_data_async`
[INFO] [stdout]    --> src/conns.rs:341:34
[INFO] [stdout]     |
[INFO] [stdout] 341 |     use crate::conns::{get_data, get_data_async, get_external_port, get_internal_port, ConnError, ARCHIVER_PORT, ARCHIVER_PORT_INTE...
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instance`
[INFO] [stdout]   --> src/contracts/wasm.rs:39:49
[INFO] [stdout]    |
[INFO] [stdout] 39 |     Caller, Config, Engine, Extern, ExternType, Instance, Linker, Memory, Module, Store,
[INFO] [stdout]    |                                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashProvider`
[INFO] [stdout]    --> src/contracts/upgrade.rs:212:61
[INFO] [stdout]     |
[INFO] [stdout] 212 |     use crate::crypto::{BasicHashProvider, Ed25519Provider, HashProvider};
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockFactory`
[INFO] [stdout]    --> src/contracts/call.rs:391:32
[INFO] [stdout]     |
[INFO] [stdout] 391 |     use crate::blocks::{Block, BlockFactory};
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::encoding::deserialize_rmp_to`
[INFO] [stdout]    --> src/contracts/call.rs:396:9
[INFO] [stdout]     |
[INFO] [stdout] 396 |     use crate::encoding::deserialize_rmp_to;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::IpAddr::V4`
[INFO] [stdout]  --> src/data.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::net::IpAddr::V4;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IpAddr`
[INFO] [stdout]  --> src/data.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::net::{IpAddr, Ipv4Addr, SocketAddr, SocketAddrV4};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/data.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `moka::sync::Cache`
[INFO] [stdout]  --> src/data.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use moka::sync::Cache;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `OnceLock`, and `RwLock`
[INFO] [stdout]  --> src/data.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, OnceLock, RwLock};
[INFO] [stdout]   |                 ^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::error::Category::Data`
[INFO] [stdout]  --> src/data.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::error::Category::Data;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::user::User`
[INFO] [stdout]    --> src/errors.rs:351:9
[INFO] [stdout]     |
[INFO] [stdout] 351 |     use crate::user::User;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tokens::Token`
[INFO] [stdout]    --> src/errors.rs:352:9
[INFO] [stdout]     |
[INFO] [stdout] 352 |     use crate::tokens::Token;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RnsSender`
[INFO] [stdout]  --> src/gossiper.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::conns::senders::{RnsSender, Sender};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum::IntoEnumIterator`
[INFO] [stdout]  --> src/node.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use strum::IntoEnumIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc::Receiver`
[INFO] [stdout]  --> src/server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::sync::mpsc::Receiver;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/tokens.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::encoding::serialize_to_bytes_rmp`
[INFO] [stdout]  --> src/tokens.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::encoding::serialize_to_bytes_rmp;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> src/validation.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ReconciledSignatures`
[INFO] [stdout]   --> src/validation.rs:10:85
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::errors::{ValidationFailureReason, TransactionRiskFactor, PneumaticError, ReconciledSignatures};
[INFO] [stdout]    |                                                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PublicInputs`
[INFO] [stdout]   --> src/validation.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 |     action_circuit_for_verifying_key, PublicInputs, ShieldedVerifier, public_inputs_from_shielded_tx,
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dashmap::mapref::entry::Entry`
[INFO] [stdout]   --> src/registry/signatures.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         use dashmap::mapref::entry::Entry;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FinalityStatus`
[INFO] [stdout]  --> src/epoch/tests/helpers.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use crate::blocks::{Block, FinalityStatus};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Field`
[INFO] [stdout]   --> src/shielded/note.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | use ff::{Field, FromUniformBytes, PrimeField};
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Group`
[INFO] [stdout]   --> src/shielded/note.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 | use group::{Curve, Group};
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `group::Group`
[INFO] [stdout]    --> src/shielded/note.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |     use group::Group;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Field`
[INFO] [stdout]   --> src/shielded/tree.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | use ff::{Field, PrimeField};
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ff::Field`
[INFO] [stdout]   --> src/shielded/roots.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use ff::Field;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::validation::RootSnapshot`
[INFO] [stdout]    --> src/shielded/roots.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |     use crate::validation::RootSnapshot;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EqAffine` and `Expression`
[INFO] [stdout]   --> src/shielded/circuit.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pasta::{EqAffine, Fp},
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] 28 |     plonk::{
[INFO] [stdout] 29 |         Advice, Column, Circuit, ConstraintSystem, Error, Expression, Fixed, Instance, Selector,
[INFO] [stdout]    |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Affine as EpAffine`
[INFO] [stdout]   --> src/shielded/circuit.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 | use pasta_curves::pallas::{Affine as EpAffine, Scalar as Fq};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IncrementalMerkleTree`
[INFO] [stdout]   --> src/shielded/circuit.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 39 | use crate::shielded::tree::{IncrementalMerkleTree, MembershipProof, DEFAULT_DEPTH};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `nullifier` and `owner_pk_to_scalar`
[INFO] [stdout]   --> src/shielded/circuit_test.rs:19:41
[INFO] [stdout]    |
[INFO] [stdout] 19 |     use crate::shielded::note::{commit, nullifier, owner_pk_to_scalar, ShieldedNote};
[INFO] [stdout]    |                                         ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::shielded::poseidon::poseidon_hash`
[INFO] [stdout]   --> src/shielded/circuit_test.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     use crate::shielded::poseidon::poseidon_hash;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MembershipProof`
[INFO] [stdout]   --> src/shielded/circuit_test.rs:21:56
[INFO] [stdout]    |
[INFO] [stdout] 21 |     use crate::shielded::tree::{IncrementalMerkleTree, MembershipProof, DEFAULT_DEPTH};
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> committer/src/shielded_pool.rs:723:23
[INFO] [stdout]     |
[INFO] [stdout] 723 |         fn with_state(mut self, state: pneumatic_core::data::ShieldedPoolState, corrupt: bool) -> Self {
[INFO] [stdout]     |                       ----^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shielded_pool` is never read
[INFO] [stdout]   --> committer/src/block_services.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct BlockServices {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     shielded_pool: Arc<ShieldedPool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bytes_to_hex` is never used
[INFO] [stdout]  --> committer/src/committer_error.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn bytes_to_hex(bytes: &[u8]) -> String {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dummy_leaf` is never used
[INFO] [stdout]    --> committer/src/shielded_pool.rs:832:8
[INFO] [stdout]     |
[INFO] [stdout] 832 |     fn dummy_leaf(tag: u8) -> [u8; 32] {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/conns.rs:27:15
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/conns.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/conns.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::io::{Read, Write};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> src/conns.rs:31:31
[INFO] [stdout]    |
[INFO] [stdout] 31 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractEngine`
[INFO] [stdout]   --> src/contracts/scan.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ContractEngine, ContractEngineRegistry, ContractError, ExecutionInput, InstructionProgram,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractEngine`
[INFO] [stdout]   --> src/contracts/call.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 | use super::{ContractEngine, ContractError, ContractEngineRegistry, ExecutionInput, select_engine};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude`
[INFO] [stdout]  --> src/blocks.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{Utc, prelude::*};
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/blocks.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/config.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let mut type_configs = Self::default_type_configs();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/config.rs:320:13
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let mut environment_metadata = DashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]    --> src/conns/streams.rs:457:18
[INFO] [stdout]     |
[INFO] [stdout] 457 |             let (r1, w1) = tokio_stream1.into_split();
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]    --> src/conns/streams.rs:484:18
[INFO] [stdout]     |
[INFO] [stdout] 484 |             let (r1, w1) = tokio_stream1.into_split();
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/conns.rs:385:18
[INFO] [stdout]     |
[INFO] [stdout] 385 |             for (j, tj) in types.iter().enumerate().skip(i + 1) {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/conns.rs:410:28
[INFO] [stdout]     |
[INFO] [stdout] 410 |                         Ok(data) => {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/conns.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let addr = listener.local_addr().unwrap();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/conns.rs:657:17
[INFO] [stdout]     |
[INFO] [stdout] 657 |             let mut stream: Box<dyn Stream> = Box::new(CoreTcpStream::from_stream(tcp_stream));
[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/conns.rs:673:21
[INFO] [stdout]     |
[INFO] [stdout] 673 |                 let mut header = [0u8; 4];
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]    --> src/conns.rs:673:21
[INFO] [stdout]     |
[INFO] [stdout] 673 |                 let mut header = [0u8; 4];
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_stream`
[INFO] [stdout]    --> src/conns.rs:641:24
[INFO] [stdout]     |
[INFO] [stdout] 641 |             if let Ok((raw_stream, _)) = listener.accept() {
[INFO] [stdout]     |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/contracts/wasm.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let mut data = mem.data_mut(caller);
[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/contracts/wasm.rs:290:25
[INFO] [stdout]     |
[INFO] [stdout] 290 |                     let mut data = mem.data_mut(&mut caller);
[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/contracts/wasm.rs:516:17
[INFO] [stdout]     |
[INFO] [stdout] 516 |             let mut data = memory.data_mut(&mut store);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/contracts/call.rs:797:13
[INFO] [stdout]     |
[INFO] [stdout] 797 |         let program = crate::contracts::InstructionProgram {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/contracts.rs:884:13
[INFO] [stdout]     |
[INFO] [stdout] 884 |         let mut tx_a = test_tx();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_id`
[INFO] [stdout]   --> src/data.rs:70:33
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn get_shielded_pool(&self, partition_id: &str) -> Result<Option<ShieldedPoolState>, DataError> {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/data.rs:82:34
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn save_shielded_pool(&self, state: &ShieldedPoolState, partition_id: &str) -> Result<(), DataError> {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_id`
[INFO] [stdout]   --> src/data.rs:82:61
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn save_shielded_pool(&self, state: &ShieldedPoolState, partition_id: &str) -> Result<(), DataError> {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/data.rs:743:22
[INFO] [stdout]     |
[INFO] [stdout] 743 |     pub fn with_user(mut self, key: Vec<u8>, partition_id: String, user: User) -> Self {
[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/data.rs:756:32
[INFO] [stdout]     |
[INFO] [stdout] 756 |     pub fn with_stake_snapshot(mut self, epoch: u64, snapshot: StakeSet) -> Self {
[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/data.rs:764:42
[INFO] [stdout]     |
[INFO] [stdout] 764 |     pub fn with_corrupted_stake_snapshot(mut self, epoch: u64, snapshot: StakeSet) -> Self {
[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/data.rs:774:31
[INFO] [stdout]     |
[INFO] [stdout] 774 |     pub fn with_shielded_pool(mut self, state: ShieldedPoolState) -> Self {
[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/data.rs:782:41
[INFO] [stdout]     |
[INFO] [stdout] 782 |     pub fn with_corrupted_shielded_pool(mut self, state: ShieldedPoolState) -> Self {
[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/data.rs:790:30
[INFO] [stdout]     |
[INFO] [stdout] 790 |     pub fn with_executor_set(mut self, epoch: u64, set: ExecutorSet) -> Self {
[INFO] [stdout]     |                              ----^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_text`
[INFO] [stdout]   --> src/logging.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let Ok(log_text) = file.file.read_to_string(&mut buffer)
[INFO] [stdout]    |                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/registry/registration.rs:634:9
[INFO] [stdout]     |
[INFO] [stdout] 634 |     let mut guard = lock.lock().unwrap_or_else(|poisoned| poisoned.into_inner());
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `guard`
[INFO] [stdout]    --> src/node/registry/registration.rs:634:9
[INFO] [stdout]     |
[INFO] [stdout] 634 |     let mut guard = lock.lock().unwrap_or_else(|poisoned| poisoned.into_inner());
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node/registry/tests/helpers.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut type_configs = DashMap::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/node/registry/tests/helpers.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |     let mut type_configs = DashMap::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/node/registry/tests/helpers.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 270 |     let mut type_configs = DashMap::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/node/registry/tests/heartbeat.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut nodes = reg.get_nodes(&NodeRegistryType::Finalizer).unwrap();
[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/node/registry/tests/heartbeat.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut nodes = reg.get_nodes(&NodeRegistryType::Finalizer).unwrap();
[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/node/registry/tests/heartbeat.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut nodes = reg.get_nodes(&NodeRegistryType::Finalizer).unwrap();
[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/node/registry/tests/heartbeat.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut nodes = reg.get_nodes(&NodeRegistryType::Finalizer).unwrap();
[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/node/registry/tests/lifecycle.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let mut nodes = reg.get_nodes(&NodeRegistryType::Committer).unwrap();
[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/node/registry/tests/registration.rs:485:13
[INFO] [stdout]     |
[INFO] [stdout] 485 |         let mut nodes = reg.get_nodes(&NodeRegistryType::Finalizer).unwrap();
[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/node/stake_index.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |     let mut index: DashMap<Vec<u8>, u64> = DashMap::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/node/stake_index.rs:250:13
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let mut type_configs = DashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/node/stake_index.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout] 271 |             let (tx, rx) = mpsc::channel::<()>();
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool`
[INFO] [stdout]    --> src/server.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let pool = ThreadPool::new(0);
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]    --> src/server.rs:198:14
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let (sender, receiver) = mpsc::channel::<Job>();
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `async_sender`
[INFO] [stdout]    --> src/server.rs:199:14
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let (async_sender, async_receiver) = mpsc::channel::<AsyncJob>();
[INFO] [stdout]     |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_async_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `stuff` is never read
[INFO] [stdout]    --> src/server.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             stuff = "more stuff";
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: did you mean to capture by reference instead?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/server.rs:224:17
[INFO] [stdout]     |
[INFO] [stdout] 224 |             let data = cloned_mutex.lock().unwrap();
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]    --> src/server.rs:219:14
[INFO] [stdout]     |
[INFO] [stdout] 219 |         let (sender, receiver) = mpsc::channel::<Job>();
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `async_sender`
[INFO] [stdout]    --> src/server.rs:228:14
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let (async_sender, async_receiver) = mpsc::channel::<AsyncJob>();
[INFO] [stdout]     |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_async_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `stuff` is never read
[INFO] [stdout]    --> src/server.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |             stuff = "different stuff";
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: did you mean to capture by reference instead?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `validation`
[INFO] [stdout]    --> src/registry/pending.rs:155:56
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let TransactionState::Validated { transaction, validation } = old_state else {
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: try ignoring the field: `validation: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/epoch/tests/leader.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let mut saw_zero = false;
[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/action_router.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |         let mut type_configs = DashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/shielded/poseidon.rs:225:14
[INFO] [stdout]     |
[INFO] [stdout] 225 |         for (i, x) in xs.iter().enumerate() {
[INFO] [stdout]     |              ^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `T`
[INFO] [stdout]     |
[INFO] [stdout] 225 -         for (i, x) in xs.iter().enumerate() {
[INFO] [stdout] 225 +         for (shielded::poseidon::T, x) in xs.iter().enumerate() {
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 225 |         for (_i, x) in xs.iter().enumerate() {
[INFO] [stdout]     |              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/shielded/poseidon.rs:226:18
[INFO] [stdout]     |
[INFO] [stdout] 226 |             for (j, y) in ys.iter().enumerate() {
[INFO] [stdout]     |                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `T`
[INFO] [stdout]     |
[INFO] [stdout] 226 -             for (j, y) in ys.iter().enumerate() {
[INFO] [stdout] 226 +             for (shielded::poseidon::T, y) in ys.iter().enumerate() {
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 226 |             for (_j, y) in ys.iter().enumerate() {
[INFO] [stdout]     |                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/shielded/circuit.rs:106:18
[INFO] [stdout]     |
[INFO] [stdout] 106 |             for (i, x) in xs.iter().enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/shielded/circuit.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 for (j, y) in ys.iter().enumerate() {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/shielded/circuit.rs:881:21
[INFO] [stdout]     |
[INFO] [stdout] 881 |                 let params = &CIRCUIT_POSEIDON_PARAMS;
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instance`
[INFO] [stdout]    --> src/shielded/circuit_test.rs:335:13
[INFO] [stdout]     |
[INFO] [stdout] 335 |         let instance = vec![
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_secret` is never used
[INFO] [stdout]   --> src/conns/senders.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl UdsSender {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub(crate) fn with_secret(self, secret: Option<Vec<u8>>) -> Self {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_secret` is never used
[INFO] [stdout]    --> src/conns/senders.rs:122:19
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl TcpSender {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub(crate) fn with_secret(self, secret: Option<Vec<u8>>) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_type`, `config`, and `conn_factory` are never read
[INFO] [stdout]   --> src/gossiper.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Gossiper {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 17 |     /// The node type this gossiper belongs to
[INFO] [stdout] 18 |     node_type: NodeRegistryType,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     /// Config for the node
[INFO] [stdout] 20 |     config: Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     /// Connection factory for sending messages
[INFO] [stdout] 22 |     conn_factory: ConnFactory,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `can_select_this_type` is never used
[INFO] [stdout]    --> src/node/registry/registration.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout]   7 | impl NodeRegistry {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 | fn can_select_this_type(&self, request: &NodeRequest, node_type: NodeRegistryType) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/blocks.rs:438:18
[INFO] [stdout]     |
[INFO] [stdout] 438 | struct HashGuard(Option<std::sync::MutexGuard<'static, ()>>);
[INFO] [stdout]     |        --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `min_stake` is never read
[INFO] [stdout]   --> src/validation/executed.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ExecutedBlockValidatorSpec {
[INFO] [stdout]    |            -------------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     min_stake: u64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExecutedBlockValidatorSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/validation/shielded.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct ShieldedValidationSpec {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] 64 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShieldedValidationSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `items` is never read
[INFO] [stdout]   --> src/epoch/leader.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Shuffler {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 57 |     /// Original items (not mutated).
[INFO] [stdout] 58 |     items: Vec<Vec<u8>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALPHA_EXP` is never used
[INFO] [stdout]   --> src/shielded/poseidon.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 | const ALPHA_EXP: u64 = 7;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fp_from_bytes` is never used
[INFO] [stdout]   --> src/shielded/tree.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn fp_from_bytes<'de, D: Deserializer<'de>>(de: D) -> Result<Fp, D::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POSEIDON_ALPHA` is never used
[INFO] [stdout]   --> src/shielded/circuit.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const POSEIDON_ALPHA: u64 = 7;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rc` and `mds` are never read
[INFO] [stdout]   --> src/shielded/circuit.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct CircuitPoseidonParams {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 58 |     /// Round constants: one `[Fp; POSEIDON_T]` per round.
[INFO] [stdout] 59 |     pub rc: [[Fp; POSEIDON_T]; POSEIDON_TOTAL_ROUNDS],
[INFO] [stdout]    |         ^^
[INFO] [stdout] 60 |     /// MDS matrix: `[[Fp; POSEIDON_T]; POSEIDON_T]`.
[INFO] [stdout] 61 |     pub mds: [[Fp; POSEIDON_T]; POSEIDON_T],
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/transactions.rs:1154:22
[INFO] [stdout]      |
[INFO] [stdout] 1154 |     pub fn token_ids(&self) -> std::collections::hash_map::Keys<Vec<u8>, Vec<String>> {
[INFO] [stdout]      |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]      = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1154 |     pub fn token_ids(&self) -> std::collections::hash_map::Keys<'_, Vec<u8>, Vec<String>> {
[INFO] [stdout]      |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/registry/pending.rs:218:32
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn get_transaction_mut(&self, id: &str) -> Result<dashmap::mapref::one::RefMut<String, PendingTransaction>, PneumaticError> {
[INFO] [stdout]     |                                ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn get_transaction_mut(&self, id: &str) -> Result<dashmap::mapref::one::RefMut<'_, String, PendingTransaction>, PneumaticError> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/epoch/tests/helpers.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     registry.enqueue_to_pool("tx1", vec![1, 2], 1, 1000, vec![10]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let _ = registry.enqueue_to_pool("tx1", vec![1, 2], 1, 1000, vec![10]);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/epoch/tests/helpers.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     registry.enqueue_to_pool("tx2", vec![1, 2], 2, 2000, vec![10]);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let _ = registry.enqueue_to_pool("tx2", vec![1, 2], 2, 2000, vec![10]);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/action_router.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     async fn route(&self, message: Message) -> Result<ActionRouterResult, PneumaticError>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 24 -     async fn route(&self, message: Message) -> Result<ActionRouterResult, PneumaticError>;
[INFO] [stdout] 24 +     fn route(&self, message: Message) -> impl std::future::Future<Output = Result<ActionRouterResult, PneumaticError>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 22s
[INFO] running `Command { std: "docker" "inspect" "39e0bd5d381212bc993d4e3b6fd993a31f8244257212235f9de59f07ac8f5e58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "39e0bd5d381212bc993d4e3b6fd993a31f8244257212235f9de59f07ac8f5e58", kill_on_drop: false }`
[INFO] [stdout] 39e0bd5d381212bc993d4e3b6fd993a31f8244257212235f9de59f07ac8f5e58
