[INFO] cloning repository https://github.com/Toni-d-e-v/locksign
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Toni-d-e-v/locksign" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FToni-d-e-v%2Flocksign", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FToni-d-e-v%2Flocksign'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5fd3ca082f70061ed27beac1daae58b8673cc95d
[INFO] checking Toni-d-e-v/locksign against try#6713fa75964eb229409a9c6f6f5c418423e313ff for pr-133502-22
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FToni-d-e-v%2Flocksign" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Toni-d-e-v/locksign
[INFO] finished tweaking git repo https://github.com/Toni-d-e-v/locksign
[INFO] tweaked toml for git repo https://github.com/Toni-d-e-v/locksign written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Toni-d-e-v/locksign on toolchain 6713fa75964eb229409a9c6f6f5c418423e313ff
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6713fa75964eb229409a9c6f6f5c418423e313ff" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Toni-d-e-v/locksign 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" "+6713fa75964eb229409a9c6f6f5c418423e313ff" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+6713fa75964eb229409a9c6f6f5c418423e313ff" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] da1fbc02c2cf066d70daa0e7604f28bfe2f539a43dee25680559500b1ca0c122
[INFO] running `Command { std: "docker" "start" "-a" "da1fbc02c2cf066d70daa0e7604f28bfe2f539a43dee25680559500b1ca0c122", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "da1fbc02c2cf066d70daa0e7604f28bfe2f539a43dee25680559500b1ca0c122", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da1fbc02c2cf066d70daa0e7604f28bfe2f539a43dee25680559500b1ca0c122", kill_on_drop: false }`
[INFO] [stdout] da1fbc02c2cf066d70daa0e7604f28bfe2f539a43dee25680559500b1ca0c122
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+6713fa75964eb229409a9c6f6f5c418423e313ff" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3e861944480e7eb5a446ca99bcd90a796a7f3db29dadc42c505d1261bc22fa65
[INFO] running `Command { std: "docker" "start" "-a" "3e861944480e7eb5a446ca99bcd90a796a7f3db29dadc42c505d1261bc22fa65", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.104
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]     Checking const-oid v0.9.6
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling borsh v1.6.0
[INFO] [stderr]     Checking five8_core v0.1.2
[INFO] [stderr]     Checking five8 v0.2.1
[INFO] [stderr]     Checking solana-sanitize v2.2.1
[INFO] [stderr]     Checking solana-atomic-u64 v2.2.1
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking five8_const v0.1.4
[INFO] [stderr]    Compiling zmij v1.0.8
[INFO] [stderr]    Compiling serde_json v1.0.148
[INFO] [stderr]    Compiling bs58 v0.5.1
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.6
[INFO] [stderr]     Checking signature v1.6.4
[INFO] [stderr]     Checking solana-msg v2.2.1
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking solana-program-memory v2.3.1
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]     Checking ed25519 v1.5.3
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]    Compiling feature-probe v0.1.1
[INFO] [stderr]     Checking keccak v0.1.5
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling bv v0.11.1
[INFO] [stderr]     Checking solana-decode-error v2.3.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]     Checking constant_time_eq v0.3.1
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]    Compiling libsecp256k1-core v0.2.2
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling parity-scale-codec v3.7.5
[INFO] [stderr]     Checking derivation-path v0.2.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling syn v2.0.112
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.34
[INFO] [stderr]     Checking rustc-hex v2.1.0
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.2.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling libsecp256k1 v0.6.0
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking const_format v0.2.35
[INFO] [stderr]     Checking qstring v0.7.2
[INFO] [stderr]     Checking uriparse v0.6.4
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]     Checking byte-slice-cast v1.2.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling toml_parser v1.0.6+spec-1.1.0
[INFO] [stderr]     Checking solana-precompile-error v2.2.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]     Checking solana-derivation-path v2.2.1
[INFO] [stderr]     Checking solana-seed-derivable v2.2.1
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]     Checking ark-std v0.4.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking fixed-hash v0.8.0
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]     Checking slab v0.4.11
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking uint v0.9.5
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]     Checking iana-time-zone v0.1.64
[INFO] [stderr]     Checking humantime v2.3.0
[INFO] [stderr]     Checking base16ct v0.2.0
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]    Compiling pest v2.8.4
[INFO] [stderr]    Compiling multimap v0.10.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking solana-native-token v2.3.0
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking solana-time-utils v2.2.1
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking solana-big-mod-exp v2.2.1
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]     Checking solana-program-option v2.2.1
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking siphasher v0.3.11
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]     Checking solana-define-syscall v2.3.0
[INFO] [stderr]     Checking base64ct v1.8.1
[INFO] [stderr]     Checking yaml-rust2 v0.8.1
[INFO] [stderr]     Checking env_logger v0.9.3
[INFO] [stderr]     Checking rust-ini v0.20.0
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking solana-logger v2.3.1
[INFO] [stderr]     Checking const-hex v1.17.0
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]     Checking solana-validator-exit v2.2.1
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking bs58 v0.4.0
[INFO] [stderr]    Compiling pest_meta v2.8.4
[INFO] [stderr]    Compiling borsh-derive-internal v0.10.4
[INFO] [stderr]    Compiling borsh-schema-derive-internal v0.10.4
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling borsh-derive v1.6.0
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling solana-sdk-macro v2.2.1
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling parity-scale-codec-derive v3.7.5
[INFO] [stderr]    Compiling impl-trait-for-tuples v0.2.3
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling prost-derive v0.12.6
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]    Compiling borsh-derive v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking borsh v0.10.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking curve25519-dalek v3.2.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]     Checking hmac v0.8.1
[INFO] [stderr]     Checking pbkdf2 v0.11.0
[INFO] [stderr]    Compiling rlp-derive v0.1.0
[INFO] [stderr]     Checking hmac-drbg v0.3.0
[INFO] [stderr]    Compiling ark-serialize-derive v0.4.2
[INFO] [stderr]     Checking solana-seed-phrase v2.2.1
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]    Compiling scale-info-derive v2.11.6
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking ark-serialize v0.4.2
[INFO] [stderr]    Compiling ark-ff-macros v0.4.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling ark-ff-asm v0.4.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling serde_with_macros v3.16.1
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]    Compiling num_enum_derive v0.7.5
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling prost v0.12.6
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]    Compiling prost-types v0.12.6
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]    Compiling pest_generator v2.8.4
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling cfg_eval v0.1.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking serde_with v3.16.1
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking num_enum v0.7.5
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking solana-borsh v2.2.1
[INFO] [stderr]    Compiling open-fastrlp-derive v0.1.1
[INFO] [stderr]    Compiling auto_impl v1.3.0
[INFO] [stderr]    Compiling pest_derive v2.8.4
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking ark-ff v0.4.2
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking solana-hash v2.3.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking ed25519-dalek v1.0.1
[INFO] [stderr]     Checking serde-big-array v0.5.1
[INFO] [stderr]     Checking solana-fee-calculator v2.2.1
[INFO] [stderr]     Checking solana-short-vec v2.2.1
[INFO] [stderr]     Checking ed25519-dalek-bip32 v0.2.0
[INFO] [stderr]     Checking impl-serde v0.4.0
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking solana-signature v2.3.0
[INFO] [stderr]     Checking solana-hard-forks v2.2.1
[INFO] [stderr]     Checking solana-sha256-hasher v2.3.0
[INFO] [stderr]     Checking solana-cluster-type v2.2.1
[INFO] [stderr]     Checking solana-keccak-hasher v2.2.1
[INFO] [stderr]     Checking solana-pubkey v2.4.0
[INFO] [stderr]    Compiling prost-build v0.12.6
[INFO] [stderr]     Checking solana-inflation v2.2.1
[INFO] [stderr]     Checking solana-shred-version v2.2.1
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking solana-poh-config v2.2.1
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking solana-serde-varint v2.2.2
[INFO] [stderr]     Checking solana-packet v2.2.1
[INFO] [stderr]     Checking solana-blake3-hasher v2.2.1
[INFO] [stderr]     Checking solana-commitment-config v2.2.1
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking rlp v0.5.2
[INFO] [stderr]     Checking solana-instruction v2.3.3
[INFO] [stderr]     Checking solana-sdk-ids v2.2.1
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking impl-codec v0.6.0
[INFO] [stderr]     Checking scale-info v2.11.6
[INFO] [stderr]     Checking solana-sysvar-id v2.2.1
[INFO] [stderr]     Checking solana-nonce v2.2.1
[INFO] [stderr]     Checking impl-rlp v0.3.0
[INFO] [stderr]     Checking solana-epoch-schedule v2.2.1
[INFO] [stderr]     Checking solana-clock v2.2.2
[INFO] [stderr]     Checking solana-system-interface v1.0.0
[INFO] [stderr]     Checking solana-program-error v2.2.2
[INFO] [stderr]     Checking solana-transaction-error v2.2.1
[INFO] [stderr]     Checking solana-serialize-utils v2.2.1
[INFO] [stderr]     Checking solana-slot-hashes v2.2.1
[INFO] [stderr]     Checking solana-rent v2.2.1
[INFO] [stderr]     Checking solana-slot-history v2.2.1
[INFO] [stderr]     Checking solana-signer v2.2.1
[INFO] [stderr]     Checking solana-last-restart-slot v2.2.1
[INFO] [stderr]     Checking solana-epoch-rewards v2.2.1
[INFO] [stderr]     Checking solana-account-info v2.3.0
[INFO] [stderr]     Checking solana-feature-set v2.2.5
[INFO] [stderr]     Checking solana-bincode v2.2.1
[INFO] [stderr]     Checking solana-keypair v2.2.3
[INFO] [stderr]     Checking solana-message v2.4.0
[INFO] [stderr]     Checking solana-address-lookup-table-interface v2.2.2
[INFO] [stderr]     Checking solana-vote-interface v2.2.6
[INFO] [stderr]     Checking solana-cpi v2.2.1
[INFO] [stderr]     Checking solana-stake-interface v1.2.1
[INFO] [stderr]     Checking solana-instructions-sysvar v2.2.2
[INFO] [stderr]     Checking solana-program-entrypoint v2.3.0
[INFO] [stderr]     Checking solana-loader-v4-interface v2.2.1
[INFO] [stderr]     Checking solana-loader-v3-interface v5.0.0
[INFO] [stderr]     Checking primitive-types v0.12.2
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking ethbloom v0.13.0
[INFO] [stderr]     Checking solana-program-pack v2.2.1
[INFO] [stderr]    Compiling tonic-build v0.11.0
[INFO] [stderr]     Checking solana-loader-v2-interface v2.2.1
[INFO] [stderr]     Checking solana-stable-layout v2.2.1
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking solana-ed25519-program v2.2.3
[INFO] [stderr]     Checking solana-secp256r1-program v2.2.4
[INFO] [stderr]     Checking solana-reward-info v2.2.1
[INFO] [stderr]     Checking solana-epoch-info v2.2.1
[INFO] [stderr]     Checking solana-rent-debits v2.2.1
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking solana-reserved-account-keys v2.2.2
[INFO] [stderr]     Checking solana-quic-definitions v2.3.1
[INFO] [stderr]     Checking solana-offchain-message v2.2.1
[INFO] [stderr]     Checking solana-presigner v2.2.1
[INFO] [stderr]     Checking solana-example-mocks v2.2.1
[INFO] [stderr]     Checking solana-fee-structure v2.3.0
[INFO] [stderr]     Checking solana-compute-budget-interface v2.2.2
[INFO] [stderr]     Checking solana-epoch-rewards-hasher v2.2.1
[INFO] [stderr]     Checking k256 v0.13.4
[INFO] [stderr]     Checking solana-serde v2.2.1
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking rlp v0.6.1
[INFO] [stderr]     Checking secrecy v0.8.0
[INFO] [stderr]     Checking solana-sysvar v2.3.0
[INFO] [stderr]     Checking solana-account v2.2.1
[INFO] [stderr]    Compiling locksign v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking solana-genesis-config v2.3.0
[INFO] [stderr]     Checking solana-feature-gate-interface v2.2.2
[INFO] [stderr]     Checking solana-transaction-context v2.3.13
[INFO] [stderr]     Checking solana-nonce-account v2.2.1
[INFO] [stderr]     Checking solana-rent-collector v2.3.0
[INFO] [stderr]     Checking ethereum-types v0.14.1
[INFO] [stderr]     Checking ethabi v18.0.0
[INFO] [stderr]     Checking open-fastrlp v0.1.4
[INFO] [stderr]     Checking ethers-core v2.0.14
[INFO] [stderr]     Checking solana-secp256k1-program v2.2.3
[INFO] [stderr]     Checking solana-secp256k1-recover v2.2.1
[INFO] [stderr]     Checking ark-poly v0.4.2
[INFO] [stderr]     Checking solana-program v2.3.0
[INFO] [stderr]     Checking solana-precompiles v2.2.2
[INFO] [stderr]     Checking solana-transaction v2.2.3
[INFO] [stderr]     Checking solana-client-traits v2.2.1
[INFO] [stderr]     Checking solana-system-transaction v2.2.1
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking config v0.14.1
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking tokio-io-timeout v1.2.1
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking ark-ec v0.4.2
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking ark-bn254 v0.4.0
[INFO] [stderr]     Checking solana-bn254 v2.2.2
[INFO] [stderr]     Checking solana-sdk v2.3.1
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking tonic v0.11.0
[INFO] [stdout] warning: unused import: `crate::errors::LockSignError`
[INFO] [stdout]  --> src/api/grpc.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::errors::LockSignError;
[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: `error`
[INFO] [stdout]   --> src/api/grpc.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tracing::{error, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HealthRequest` and `ListKeysRequest`
[INFO] [stdout]   --> src/api/grpc.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 | use proto::common::{HealthRequest, HealthResponse, KeyInfo, ListKeysRequest, ListKeysResponse};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HealthService` and `KeyManagementService`
[INFO] [stdout]   --> src/api/mod.rs:11:49
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use grpc::{AppState, EthereumSignerService, HealthService, KeyManagementService, SolanaSignerService};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RecoveryId`, `Signature`, `VerifyingKey`, and `signature::Signer`
[INFO] [stdout]   --> src/crypto/eth.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ecdsa::{signature::Signer, RecoveryId, Signature, SigningKey, VerifyingKey},
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `zeroize::Zeroize`
[INFO] [stdout]   --> src/crypto/eth.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use zeroize::Zeroize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `checksum_address` and `hash_message`
[INFO] [stdout]  --> src/crypto/mod.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use eth::{checksum_address, hash_message, keccak256, EthKeyPair, EthSignature};
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `parse_pubkey` and `verify_signature`
[INFO] [stdout]  --> src/crypto/mod.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use sol::{parse_pubkey, verify_signature, SolKeyPair, SolSignature};
[INFO] [stdout]   |               ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PasswordHasher` and `password_hash::SaltString`
[INFO] [stdout]   --> src/keystore/encrypted.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use argon2::{password_hash::SaltString, Argon2, PasswordHasher};
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LockedMemory` and `SecureBytes`
[INFO] [stdout]  --> src/keystore/memory.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::security::{LockedMemory, SecureBytes};
[INFO] [stdout]   |                       ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/keystore/memory.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{debug, info};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncryptedKeyFile` and `EncryptedStorage`
[INFO] [stdout]   --> src/keystore/mod.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use encrypted::{EncryptedKeyFile, EncryptedStorage};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ChainType` and `KeyInfo`
[INFO] [stdout]   --> src/keystore/mod.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use memory::{ChainType, KeyInfo, MemoryKeyStore};
[INFO] [stdout]    |                  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/policy/engine.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyPolicy`, `PolicyConfig`, and `PolicyResult`
[INFO] [stdout]   --> src/policy/mod.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use engine::{KeyPolicy, PolicyConfig, PolicyEngine, PolicyResult, SigningContext};
[INFO] [stdout]    |                  ^^^^^^^^^  ^^^^^^^^^^^^                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddressAllowlistRule`, `PolicyRule`, `RateLimitRule`, `Require2FARule`, `TimeWindowRule`, and `ValueLimitRule`
[INFO] [stdout]   --> src/policy/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     AddressAllowlistRule, PolicyRule, RateLimitRule, Require2FARule, TimeWindowRule,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     ValueLimitRule,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]   --> src/security/mlock.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ptr;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExposeSecret`
[INFO] [stdout]  --> src/security/zeroize.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use secrecy::{ExposeSecret, Secret};
[INFO] [stdout]   |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `can_lock_memory`
[INFO] [stdout]   --> src/security/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use mlock::{can_lock_memory, setup_memory_protection, LockedMemory};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SecretKey`, `SecureString`, and `new_secret_key`
[INFO] [stdout]   --> src/security/mod.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use zeroize::{new_secret_key, SecretKey, SecureBytes, SecureString};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^  ^^^^^^^^^               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/signer/solana.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccessListItem`, `EIP1559Transaction`, `LegacyTransaction`, `SignedEIP1559Transaction`, and `SignedTransaction`
[INFO] [stdout]   --> src/signer/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     AccessListItem, EIP1559Transaction, EthereumSigner, LegacyTransaction,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     SignedEIP1559Transaction, SignedTransaction,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::errors::LockSignError`
[INFO] [stdout]  --> src/api/grpc.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::errors::LockSignError;
[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: `error`
[INFO] [stdout]   --> src/api/grpc.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tracing::{error, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HealthRequest` and `ListKeysRequest`
[INFO] [stdout]   --> src/api/grpc.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 | use proto::common::{HealthRequest, HealthResponse, KeyInfo, ListKeysRequest, ListKeysResponse};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HealthService` and `KeyManagementService`
[INFO] [stdout]   --> src/api/mod.rs:11:49
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use grpc::{AppState, EthereumSignerService, HealthService, KeyManagementService, SolanaSignerService};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RecoveryId`, `Signature`, `VerifyingKey`, and `signature::Signer`
[INFO] [stdout]   --> src/crypto/eth.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ecdsa::{signature::Signer, RecoveryId, Signature, SigningKey, VerifyingKey},
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `zeroize::Zeroize`
[INFO] [stdout]   --> src/crypto/eth.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use zeroize::Zeroize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `checksum_address` and `hash_message`
[INFO] [stdout]  --> src/crypto/mod.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use eth::{checksum_address, hash_message, keccak256, EthKeyPair, EthSignature};
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `parse_pubkey` and `verify_signature`
[INFO] [stdout]  --> src/crypto/mod.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use sol::{parse_pubkey, verify_signature, SolKeyPair, SolSignature};
[INFO] [stdout]   |               ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PasswordHasher` and `password_hash::SaltString`
[INFO] [stdout]   --> src/keystore/encrypted.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use argon2::{password_hash::SaltString, Argon2, PasswordHasher};
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LockedMemory` and `SecureBytes`
[INFO] [stdout]  --> src/keystore/memory.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::security::{LockedMemory, SecureBytes};
[INFO] [stdout]   |                       ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/keystore/memory.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{debug, info};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncryptedKeyFile` and `EncryptedStorage`
[INFO] [stdout]   --> src/keystore/mod.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use encrypted::{EncryptedKeyFile, EncryptedStorage};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ChainType` and `KeyInfo`
[INFO] [stdout]   --> src/keystore/mod.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use memory::{ChainType, KeyInfo, MemoryKeyStore};
[INFO] [stdout]    |                  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/policy/engine.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyPolicy`, `PolicyConfig`, and `PolicyResult`
[INFO] [stdout]   --> src/policy/mod.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use engine::{KeyPolicy, PolicyConfig, PolicyEngine, PolicyResult, SigningContext};
[INFO] [stdout]    |                  ^^^^^^^^^  ^^^^^^^^^^^^                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddressAllowlistRule`, `PolicyRule`, `RateLimitRule`, `Require2FARule`, `TimeWindowRule`, and `ValueLimitRule`
[INFO] [stdout]   --> src/policy/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     AddressAllowlistRule, PolicyRule, RateLimitRule, Require2FARule, TimeWindowRule,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     ValueLimitRule,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]   --> src/security/mlock.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ptr;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExposeSecret`
[INFO] [stdout]  --> src/security/zeroize.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use secrecy::{ExposeSecret, Secret};
[INFO] [stdout]   |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `can_lock_memory`
[INFO] [stdout]   --> src/security/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use mlock::{can_lock_memory, setup_memory_protection, LockedMemory};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SecretKey`, `SecureString`, and `new_secret_key`
[INFO] [stdout]   --> src/security/mod.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use zeroize::{new_secret_key, SecretKey, SecureBytes, SecureString};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^  ^^^^^^^^^               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/signer/solana.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccessListItem`, `EIP1559Transaction`, `LegacyTransaction`, `SignedEIP1559Transaction`, and `SignedTransaction`
[INFO] [stdout]   --> src/signer/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     AccessListItem, EIP1559Transaction, EthereumSigner, LegacyTransaction,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     SignedEIP1559Transaction, SignedTransaction,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `elliptic_curve::sec1::ToEncodedPoint`
[INFO] [stdout]   --> src/crypto/eth.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     elliptic_curve::sec1::ToEncodedPoint,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `base64::Engine`
[INFO] [stdout]    --> src/keystore/encrypted.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 248 | use base64::Engine as _;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `public_key`
[INFO] [stdout]    --> src/keystore/loader.rs:153:33
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let (private_key_bytes, public_key) = match chain_type {
[INFO] [stdout]     |                                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_public_key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `elliptic_curve::sec1::ToEncodedPoint`
[INFO] [stdout]   --> src/crypto/eth.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     elliptic_curve::sec1::ToEncodedPoint,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `base64::Engine`
[INFO] [stdout]    --> src/keystore/encrypted.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 248 | use base64::Engine as _;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `nix::libc::sysconf` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/security/mlock.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let page_size = libc::sysconf(libc::_SC_PAGESIZE) as usize;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/security/mlock.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub unsafe fn lock_memory(ptr: *const u8, len: usize) -> Result<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `nix::sys::mman::mlock` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/security/mlock.rs:52:22
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let result = mlock(aligned_addr as *const libc::c_void, aligned_len);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `nix::libc::sysconf` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/security/mlock.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let page_size = libc::sysconf(libc::_SC_PAGESIZE) as usize;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/security/mlock.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub unsafe fn unlock_memory(ptr: *const u8, len: usize) -> Result<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `nix::sys::mman::munlock` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/security/mlock.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let result = munlock(aligned_addr as *const libc::c_void, aligned_len);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/security/mlock.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let mut data = vec![0u8; size];
[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: fields `key_hash`, `permissions`, and `created_at` are never read
[INFO] [stdout]   --> src/api/auth.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ApiKey {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 17 |     pub key_id: String,
[INFO] [stdout] 18 |     pub key_hash: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 19 |     pub name: String,
[INFO] [stdout] 20 |     pub permissions: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 21 |     pub enabled: bool,
[INFO] [stdout] 22 |     pub created_at: i64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApiKey` has derived impls for the traits `Clone` and `Debug`, but these are 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: methods `add_api_key`, `remove_api_key`, `check_permission`, and `is_auth_required` are never used
[INFO] [stdout]    --> src/api/auth.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl AuthService {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn add_api_key(&self, key: ApiKey) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn remove_api_key(&self, key_id: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn check_permission(&self, key_id: &str, permission: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn is_auth_required(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `key_loader`, `policy_engine`, and `start_time` are never read
[INFO] [stdout]   --> src/api/grpc.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct AppState {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 44 |     pub key_store: Arc<MemoryKeyStore>,
[INFO] [stdout] 45 |     pub key_loader: Arc<KeyLoader>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 46 |     pub policy_engine: Arc<PolicyEngine>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthService` is never constructed
[INFO] [stdout]    --> src/api/grpc.rs:310:12
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub struct HealthService {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `check_health` are never used
[INFO] [stdout]    --> src/api/grpc.rs:315:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl HealthService {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 315 |     pub fn new(state: Arc<AppState>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn check_health(&self) -> HealthResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyManagementService` is never constructed
[INFO] [stdout]    --> src/api/grpc.rs:332:12
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub struct KeyManagementService {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `list_keys` are never used
[INFO] [stdout]    --> src/api/grpc.rs:337:12
[INFO] [stdout]     |
[INFO] [stdout] 336 | impl KeyManagementService {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 337 |     pub fn new(state: Arc<AppState>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn list_keys(&self) -> ListKeysResponse {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignRequest` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct SignRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyInfo` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct KeyInfo {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListKeysRequest` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct ListKeysRequest {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListKeysResponse` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct ListKeysResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GetKeyRequest` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct GetKeyRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportKeyRequest` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct ImportKeyRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportKeyResponse` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct ImportKeyResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeleteKeyRequest` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct DeleteKeyRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeleteKeyResponse` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct DeleteKeyResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PolicyRule` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct PolicyRule {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthRequest` is never constructed
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct HealthRequest {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthResponse` is never constructed
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct HealthResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `generate`, `public_key_compressed`, and `private_key_bytes` are never used
[INFO] [stdout]    --> src/crypto/eth.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl EthKeyPair {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  25 |     /// Create a new random key pair
[INFO] [stdout]  26 |     pub fn generate() -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn public_key_compressed(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn private_key_bytes(&self) -> SecureBytes {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `v_legacy`, `v_eip155`, and `to_hex` are never used
[INFO] [stdout]    --> src/crypto/eth.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl EthSignature {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn v_legacy(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn v_eip155(&self, chain_id: u64) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn to_hex(&self) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `keccak256` is never used
[INFO] [stdout]    --> src/crypto/eth.rs:156:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub fn keccak256(data: &[u8]) -> [u8; 32] {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_address` is never used
[INFO] [stdout]    --> src/crypto/eth.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn parse_address(addr: &str) -> Result<[u8; 20]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_checksum` is never used
[INFO] [stdout]    --> src/crypto/eth.rs:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub fn verify_checksum(addr: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `generate`, `from_keypair_bytes`, `seed_bytes`, `keypair_bytes`, and `verifying_key` are never used
[INFO] [stdout]   --> src/crypto/sol.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl SolKeyPair {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 19 |     /// Create a new random key pair
[INFO] [stdout] 20 |     pub fn generate() -> Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn from_keypair_bytes(bytes: &[u8]) -> Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn seed_bytes(&self) -> SecureBytes {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn keypair_bytes(&self) -> SecureBytes {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn verifying_key(&self) -> VerifyingKey {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_bytes`, `to_base58`, `to_hex`, and `from_bytes` are never used
[INFO] [stdout]    --> src/crypto/sol.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl SolSignature {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 104 |     /// Get the signature bytes
[INFO] [stdout] 105 |     pub fn to_bytes(&self) -> [u8; 64] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn to_base58(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn to_hex(&self) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn from_bytes(bytes: &[u8]) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_pubkey` is never used
[INFO] [stdout]    --> src/crypto/sol.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn parse_pubkey(s: &str) -> Result<[u8; 32]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_signature` is never used
[INFO] [stdout]    --> src/crypto/sol.rs:153:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub fn verify_signature(pubkey: &[u8; 32], message: &[u8], signature: &[u8; 64]) -> Result<bool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SALT_SIZE` is never used
[INFO] [stdout]   --> src/keystore/encrypted.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const SALT_SIZE: usize = 16;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NONCE_SIZE` is never used
[INFO] [stdout]   --> src/keystore/encrypted.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const NONCE_SIZE: usize = 12;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `save` are never used
[INFO] [stdout]    --> src/keystore/encrypted.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl EncryptedKeyFile {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout]  57 |     /// Create a new encrypted key file
[INFO] [stdout]  58 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn save(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `store`, `delete`, and `exists` are never used
[INFO] [stdout]    --> src/keystore/encrypted.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | impl EncryptedStorage {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn store(&self, file: &EncryptedKeyFile) -> Result<()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn delete(&self, key_id: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn exists(&self, key_id: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/keystore/loader.rs:95:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl KeyLoader {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn import_key(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn generate_key(&self, key_id: &str, chain: &str, password: &str) -> Result<KeyInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn delete_key(&self, key_id: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn get_key_info(&self, key_id: &str) -> Result<KeyInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn list_loaded_keys(&self) -> Vec<KeyInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn list_stored_keys(&self) -> Result<Vec<String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn key_exists(&self, key_id: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn memory_store(&self) -> &Arc<MemoryKeyStore> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/keystore/memory.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl ChainType {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 21 |     pub fn as_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `key_id`, `chain`, and `created_at` are never read
[INFO] [stdout]   --> src/keystore/memory.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct KeyInfo {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 40 |     pub key_id: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 41 |     pub chain: ChainType,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 42 |     pub public_key: String,
[INFO] [stdout] 43 |     pub created_at: i64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `KeyInfo` 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: methods `unload_key`, `list_keys`, `has_key`, `key_count`, `set_key_enabled`, and `sign_ethereum_hash` are never used
[INFO] [stdout]    --> src/keystore/memory.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl MemoryKeyStore {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn unload_key(&self, key_id: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn list_keys(&self) -> Vec<KeyInfo> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn has_key(&self, key_id: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn key_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn set_key_enabled(&self, key_id: &str, enabled: bool) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn sign_ethereum_hash(&self, key_id: &str, hash: &[u8; 32]) -> Result<crate::crypto::EthSignature> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `chain` and `metadata` are never read
[INFO] [stdout]   --> src/policy/engine.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct SigningContext {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub chain: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 27 |     /// Additional metadata
[INFO] [stdout] 28 |     pub metadata: HashMap<String, String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SigningContext` 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: methods `with_address`, `with_value`, and `with_2fa` are never used
[INFO] [stdout]   --> src/policy/engine.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl SigningContext {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn with_address(mut self, addr: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn with_value(mut self, value: u128) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn with_2fa(mut self, token: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `warnings` is never read
[INFO] [stdout]   --> src/policy/engine.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct PolicyResult {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub warnings: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PolicyResult` 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: associated items `deny` and `add_warning` are never used
[INFO] [stdout]   --> src/policy/engine.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl PolicyResult {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn deny(reason: &str) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn add_warning(&mut self, warning: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add_rule` are never used
[INFO] [stdout]    --> src/policy/engine.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl KeyPolicy {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 112 |     pub fn new(key_id: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn add_rule(&mut self, rule: PolicyRule) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save` is never used
[INFO] [stdout]    --> src/policy/engine.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl PolicyConfig {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn save(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save`, `add_global_rule`, `set_key_policy`, `get_key_policy`, and `is_enabled` are never used
[INFO] [stdout]    --> src/policy/engine.rs:196:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl PolicyEngine {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn save(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn add_global_rule(&self, rule: PolicyRule) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn set_key_policy(&self, policy: KeyPolicy) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn get_key_policy(&self, key_id: &str) -> Option<KeyPolicy> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn is_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `description` is never used
[INFO] [stdout]   --> src/policy/rules.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl PolicyRule {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 39 |     /// Get a human-readable description of the rule
[INFO] [stdout] 40 |     pub fn description(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add_address` are never used
[INFO] [stdout]   --> src/policy/rules.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl AddressAllowlistRule {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 76 |     pub fn new(id: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn add_address(&mut self, addr: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `period_description` are never used
[INFO] [stdout]    --> src/policy/rules.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl ValueLimitRule {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 126 |     pub fn new(id: &str, max_value: u128, period_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn period_description(&self) -> &str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/policy/rules.rs:201:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | impl RateLimitRule {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 201 |     pub fn new(id: &str, max_count: u32, period_seconds: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/policy/rules.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | impl Require2FARule {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 249 |     pub fn new(id: &str, threshold: u128, method: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/policy/rules.rs:281:12
[INFO] [stdout]     |
[INFO] [stdout] 280 | impl TimeWindowRule {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 281 |     pub fn new(id: &str, start_hour: u8, start_minute: u8, end_hour: u8, end_minute: u8) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lock_memory` is never used
[INFO] [stdout]   --> src/security/mlock.rs:36:15
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub unsafe fn lock_memory(ptr: *const u8, len: usize) -> Result<()> {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unlock_memory` is never used
[INFO] [stdout]   --> src/security/mlock.rs:90:15
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub unsafe fn unlock_memory(ptr: *const u8, len: usize) -> Result<()> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockedMemory` is never constructed
[INFO] [stdout]    --> src/security/mlock.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct LockedMemory {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/security/mlock.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl LockedMemory {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 146 |     /// Allocate and lock a new memory region
[INFO] [stdout] 147 |     pub fn new(size: usize) -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn from_vec(data: Vec<u8>) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn as_slice(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn as_mut_slice(&mut self) -> &mut [u8] {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn is_locked(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SecureBytes` is never constructed
[INFO] [stdout]   --> src/security/zeroize.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct SecureBytes {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/security/zeroize.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl SecureBytes {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(data: Vec<u8>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn zeros(size: usize) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn expose(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn expose_mut(&mut self) -> &mut [u8] {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn zeroize_now(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SecureString` is never constructed
[INFO] [stdout]   --> src/security/zeroize.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct SecureString {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `expose` are never used
[INFO] [stdout]   --> src/security/zeroize.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl SecureString {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 67 |     pub fn new(s: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn expose(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SecretKey` is never used
[INFO] [stdout]   --> src/security/zeroize.rs:89:10
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub type SecretKey = Secret<Vec<u8>>;
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_secret_key` is never used
[INFO] [stdout]   --> src/security/zeroize.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn new_secret_key(bytes: Vec<u8>) -> SecretKey {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `secure_copy` is never used
[INFO] [stdout]   --> src/security/zeroize.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn secure_copy(src: &[u8], dst: &mut [u8]) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `zeroize_slice` is never used
[INFO] [stdout]    --> src/security/zeroize.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn zeroize_slice(data: &mut [u8]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `sign_hash`, `sign_legacy_transaction`, and `sign_eip1559_transaction` are never used
[INFO] [stdout]    --> src/signer/ethereum.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl EthereumSigner {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn sign_hash(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn sign_legacy_transaction(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn sign_eip1559_transaction(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `u128_to_be_bytes_trimmed` is never used
[INFO] [stdout]    --> src/signer/ethereum.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn u128_to_be_bytes_trimmed(value: u128) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `u64_to_be_bytes_trimmed` is never used
[INFO] [stdout]    --> src/signer/ethereum.rs:172:4
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn u64_to_be_bytes_trimmed(value: u64) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LegacyTransaction` is never constructed
[INFO] [stdout]    --> src/signer/ethereum.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub struct LegacyTransaction {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `rlp_unsigned` are never used
[INFO] [stdout]    --> src/signer/ethereum.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl LegacyTransaction {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 194 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn rlp_unsigned(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedTransaction` is never constructed
[INFO] [stdout]    --> src/signer/ethereum.rs:231:12
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub struct SignedTransaction {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `rlp_signed`, `tx_hash`, `tx_hash_hex`, and `raw_tx_hex` are never used
[INFO] [stdout]    --> src/signer/ethereum.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout] 238 | impl SignedTransaction {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] 239 |     pub fn rlp_signed(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn tx_hash(&self) -> [u8; 32] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn tx_hash_hex(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn raw_tx_hex(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EIP1559Transaction` is never constructed
[INFO] [stdout]    --> src/signer/ethereum.rs:275:12
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct EIP1559Transaction {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccessListItem` is never constructed
[INFO] [stdout]    --> src/signer/ethereum.rs:288:12
[INFO] [stdout]     |
[INFO] [stdout] 288 | pub struct AccessListItem {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rlp_unsigned` is never used
[INFO] [stdout]    --> src/signer/ethereum.rs:294:12
[INFO] [stdout]     |
[INFO] [stdout] 293 | impl EIP1559Transaction {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 294 |     pub fn rlp_unsigned(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedEIP1559Transaction` is never constructed
[INFO] [stdout]    --> src/signer/ethereum.rs:330:12
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub struct SignedEIP1559Transaction {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `rlp_signed`, `tx_hash`, `tx_hash_hex`, and `raw_tx_hex` are never used
[INFO] [stdout]    --> src/signer/ethereum.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 337 | impl SignedEIP1559Transaction {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] 338 |     pub fn rlp_signed(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn tx_hash(&self) -> [u8; 32] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub fn tx_hash_hex(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn raw_tx_hex(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `public_key`
[INFO] [stdout]    --> src/keystore/loader.rs:153:33
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let (private_key_bytes, public_key) = match chain_type {
[INFO] [stdout]     |                                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_public_key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `nix::libc::sysconf` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/security/mlock.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let page_size = libc::sysconf(libc::_SC_PAGESIZE) as usize;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/security/mlock.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub unsafe fn lock_memory(ptr: *const u8, len: usize) -> Result<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `nix::sys::mman::mlock` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/security/mlock.rs:52:22
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let result = mlock(aligned_addr as *const libc::c_void, aligned_len);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `nix::libc::sysconf` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/security/mlock.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let page_size = libc::sysconf(libc::_SC_PAGESIZE) as usize;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/security/mlock.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub unsafe fn unlock_memory(ptr: *const u8, len: usize) -> Result<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `nix::sys::mman::munlock` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/security/mlock.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let result = munlock(aligned_addr as *const libc::c_void, aligned_len);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/security/mlock.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let mut data = vec![0u8; size];
[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: fields `key_hash` and `created_at` are never read
[INFO] [stdout]   --> src/api/auth.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ApiKey {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 17 |     pub key_id: String,
[INFO] [stdout] 18 |     pub key_hash: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub created_at: i64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApiKey` has derived impls for the traits `Clone` and `Debug`, but these are 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: methods `remove_api_key` and `is_auth_required` are never used
[INFO] [stdout]    --> src/api/auth.rs:49:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl AuthService {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn remove_api_key(&self, key_id: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn is_auth_required(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `key_loader`, `policy_engine`, and `start_time` are never read
[INFO] [stdout]   --> src/api/grpc.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct AppState {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 44 |     pub key_store: Arc<MemoryKeyStore>,
[INFO] [stdout] 45 |     pub key_loader: Arc<KeyLoader>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 46 |     pub policy_engine: Arc<PolicyEngine>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthService` is never constructed
[INFO] [stdout]    --> src/api/grpc.rs:310:12
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub struct HealthService {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `check_health` are never used
[INFO] [stdout]    --> src/api/grpc.rs:315:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl HealthService {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 315 |     pub fn new(state: Arc<AppState>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn check_health(&self) -> HealthResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyManagementService` is never constructed
[INFO] [stdout]    --> src/api/grpc.rs:332:12
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub struct KeyManagementService {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `list_keys` are never used
[INFO] [stdout]    --> src/api/grpc.rs:337:12
[INFO] [stdout]     |
[INFO] [stdout] 336 | impl KeyManagementService {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 337 |     pub fn new(state: Arc<AppState>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn list_keys(&self) -> ListKeysResponse {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignRequest` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct SignRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeyInfo` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct KeyInfo {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListKeysRequest` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct ListKeysRequest {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListKeysResponse` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct ListKeysResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GetKeyRequest` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct GetKeyRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportKeyRequest` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct ImportKeyRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportKeyResponse` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct ImportKeyResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeleteKeyRequest` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct DeleteKeyRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeleteKeyResponse` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct DeleteKeyResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PolicyRule` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct PolicyRule {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthRequest` is never constructed
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct HealthRequest {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthResponse` is never constructed
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/locksign-4b4a9d20fe29736c/out/locksign.common.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct HealthResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `public_key_compressed` is never used
[INFO] [stdout]   --> src/crypto/eth.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl EthKeyPair {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn public_key_compressed(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `v_legacy`, `v_eip155`, and `to_hex` are never used
[INFO] [stdout]    --> src/crypto/eth.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl EthSignature {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn v_legacy(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn v_eip155(&self, chain_id: u64) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn to_hex(&self) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `keccak256` is never used
[INFO] [stdout]    --> src/crypto/eth.rs:156:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub fn keccak256(data: &[u8]) -> [u8; 32] {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_address` is never used
[INFO] [stdout]    --> src/crypto/eth.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn parse_address(addr: &str) -> Result<[u8; 20]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_checksum` is never used
[INFO] [stdout]    --> src/crypto/eth.rs:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub fn verify_checksum(addr: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_keypair_bytes`, `keypair_bytes`, and `verifying_key` are never used
[INFO] [stdout]   --> src/crypto/sol.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl SolKeyPair {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn from_keypair_bytes(bytes: &[u8]) -> Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn keypair_bytes(&self) -> SecureBytes {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn verifying_key(&self) -> VerifyingKey {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_bytes`, `to_base58`, `to_hex`, and `from_bytes` are never used
[INFO] [stdout]    --> src/crypto/sol.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl SolSignature {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 104 |     /// Get the signature bytes
[INFO] [stdout] 105 |     pub fn to_bytes(&self) -> [u8; 64] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn to_base58(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn to_hex(&self) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn from_bytes(bytes: &[u8]) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete` is never used
[INFO] [stdout]    --> src/keystore/encrypted.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | impl EncryptedStorage {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn delete(&self, key_id: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `delete_key`, `get_key_info`, `list_stored_keys`, `key_exists`, and `memory_store` are never used
[INFO] [stdout]    --> src/keystore/loader.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl KeyLoader {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn delete_key(&self, key_id: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn get_key_info(&self, key_id: &str) -> Result<KeyInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn list_stored_keys(&self) -> Result<Vec<String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn key_exists(&self, key_id: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn memory_store(&self) -> &Arc<MemoryKeyStore> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/keystore/memory.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl ChainType {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 21 |     pub fn as_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]   --> src/keystore/memory.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct KeyInfo {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub created_at: i64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `KeyInfo` 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: methods `unload_key`, `has_key`, and `sign_ethereum_hash` are never used
[INFO] [stdout]    --> src/keystore/memory.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl MemoryKeyStore {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn unload_key(&self, key_id: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn has_key(&self, key_id: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn sign_ethereum_hash(&self, key_id: &str, hash: &[u8; 32]) -> Result<crate::crypto::EthSignature> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `chain` and `metadata` are never read
[INFO] [stdout]   --> src/policy/engine.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct SigningContext {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub chain: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 27 |     /// Additional metadata
[INFO] [stdout] 28 |     pub metadata: HashMap<String, String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SigningContext` 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: method `with_2fa` is never used
[INFO] [stdout]   --> src/policy/engine.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl SigningContext {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn with_2fa(mut self, token: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `warnings` is never read
[INFO] [stdout]   --> src/policy/engine.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct PolicyResult {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub warnings: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PolicyResult` 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: associated items `deny` and `add_warning` are never used
[INFO] [stdout]   --> src/policy/engine.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl PolicyResult {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn deny(reason: &str) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn add_warning(&mut self, warning: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add_rule` are never used
[INFO] [stdout]    --> src/policy/engine.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl KeyPolicy {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 112 |     pub fn new(key_id: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn add_rule(&mut self, rule: PolicyRule) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save` is never used
[INFO] [stdout]    --> src/policy/engine.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl PolicyConfig {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn save(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save`, `set_key_policy`, `get_key_policy`, and `is_enabled` are never used
[INFO] [stdout]    --> src/policy/engine.rs:196:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl PolicyEngine {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn save(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn set_key_policy(&self, policy: KeyPolicy) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn get_key_policy(&self, key_id: &str) -> Option<KeyPolicy> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn is_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `description` is never used
[INFO] [stdout]   --> src/policy/rules.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl PolicyRule {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 39 |     /// Get a human-readable description of the rule
[INFO] [stdout] 40 |     pub fn description(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `period_description` is never used
[INFO] [stdout]    --> src/policy/rules.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl ValueLimitRule {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn period_description(&self) -> &str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/policy/rules.rs:281:12
[INFO] [stdout]     |
[INFO] [stdout] 280 | impl TimeWindowRule {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 281 |     pub fn new(id: &str, start_hour: u8, start_minute: u8, end_hour: u8, end_minute: u8) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lock_memory` is never used
[INFO] [stdout]   --> src/security/mlock.rs:36:15
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub unsafe fn lock_memory(ptr: *const u8, len: usize) -> Result<()> {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unlock_memory` is never used
[INFO] [stdout]   --> src/security/mlock.rs:90:15
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub unsafe fn unlock_memory(ptr: *const u8, len: usize) -> Result<()> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockedMemory` is never constructed
[INFO] [stdout]    --> src/security/mlock.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct LockedMemory {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/security/mlock.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl LockedMemory {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 146 |     /// Allocate and lock a new memory region
[INFO] [stdout] 147 |     pub fn new(size: usize) -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn from_vec(data: Vec<u8>) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn as_slice(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn as_mut_slice(&mut self) -> &mut [u8] {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn is_locked(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]   --> src/security/zeroize.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl SecureBytes {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SecretKey` is never used
[INFO] [stdout]   --> src/security/zeroize.rs:89:10
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub type SecretKey = Secret<Vec<u8>>;
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_secret_key` is never used
[INFO] [stdout]   --> src/security/zeroize.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn new_secret_key(bytes: Vec<u8>) -> SecretKey {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `secure_copy` is never used
[INFO] [stdout]   --> src/security/zeroize.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn secure_copy(src: &[u8], dst: &mut [u8]) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `sign_hash`, `sign_legacy_transaction`, and `sign_eip1559_transaction` are never used
[INFO] [stdout]    --> src/signer/ethereum.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl EthereumSigner {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn sign_hash(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn sign_legacy_transaction(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn sign_eip1559_transaction(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/signer/ethereum.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl LegacyTransaction {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 194 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedTransaction` is never constructed
[INFO] [stdout]    --> src/signer/ethereum.rs:231:12
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub struct SignedTransaction {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `rlp_signed`, `tx_hash`, `tx_hash_hex`, and `raw_tx_hex` are never used
[INFO] [stdout]    --> src/signer/ethereum.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout] 238 | impl SignedTransaction {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] 239 |     pub fn rlp_signed(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn tx_hash(&self) -> [u8; 32] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn tx_hash_hex(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn raw_tx_hex(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedEIP1559Transaction` is never constructed
[INFO] [stdout]    --> src/signer/ethereum.rs:330:12
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub struct SignedEIP1559Transaction {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `rlp_signed`, `tx_hash`, `tx_hash_hex`, and `raw_tx_hex` are never used
[INFO] [stdout]    --> src/signer/ethereum.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 337 | impl SignedEIP1559Transaction {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] 338 |     pub fn rlp_signed(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn tx_hash(&self) -> [u8; 32] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub fn tx_hash_hex(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn raw_tx_hex(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 27s
[INFO] running `Command { std: "docker" "inspect" "3e861944480e7eb5a446ca99bcd90a796a7f3db29dadc42c505d1261bc22fa65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3e861944480e7eb5a446ca99bcd90a796a7f3db29dadc42c505d1261bc22fa65", kill_on_drop: false }`
[INFO] [stdout] 3e861944480e7eb5a446ca99bcd90a796a7f3db29dadc42c505d1261bc22fa65
