[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 master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-150727 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FToni-d-e-v%2Flocksign" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/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-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Toni-d-e-v/locksign on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded zeroize_derive v1.4.3 [INFO] [stderr] Downloaded rlp v0.6.1 [INFO] [stderr] Downloaded solana-rent-collector v2.3.0 [INFO] [stderr] Downloaded solana-transaction-context v2.3.13 [INFO] [stderr] Downloaded zmij v1.0.8 [INFO] [stderr] Downloaded proptest v1.9.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3afbb0a6bc871d33f5af83879202cdee6d582d7dc3768c01fdcf70d7b601f045 [INFO] running `Command { std: "docker" "start" "-a" "3afbb0a6bc871d33f5af83879202cdee6d582d7dc3768c01fdcf70d7b601f045", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3afbb0a6bc871d33f5af83879202cdee6d582d7dc3768c01fdcf70d7b601f045", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3afbb0a6bc871d33f5af83879202cdee6d582d7dc3768c01fdcf70d7b601f045", kill_on_drop: false }` [INFO] [stdout] 3afbb0a6bc871d33f5af83879202cdee6d582d7dc3768c01fdcf70d7b601f045 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7a42f8c3f665f1199166cf30008a21cf8a654f588c536e1b70daf78d74a97546 [INFO] running `Command { std: "docker" "start" "-a" "7a42f8c3f665f1199166cf30008a21cf8a654f588c536e1b70daf78d74a97546", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.104 [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 generic-array v0.14.7 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling toml_parser v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Checking solana-decode-error v2.3.0 [INFO] [stderr] Checking itoa v1.0.17 [INFO] [stderr] Compiling zmij v1.0.8 [INFO] [stderr] Compiling serde_json v1.0.148 [INFO] [stderr] Compiling bs58 v0.5.1 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Compiling find-msvc-tools v0.1.6 [INFO] [stderr] Checking log v0.4.29 [INFO] [stderr] Compiling cc v1.2.51 [INFO] [stderr] Compiling toml_edit v0.23.10+spec-1.0.0 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling parity-scale-codec v3.7.5 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking qstring v0.7.2 [INFO] [stderr] Checking tracing-core v0.1.36 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Compiling bytes v1.11.0 [INFO] [stderr] Checking byte-slice-cast v1.2.3 [INFO] [stderr] Compiling syn v2.0.112 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [INFO] [stderr] Compiling const_format_proc_macros v0.2.34 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Compiling libsecp256k1-core v0.2.2 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Checking solana-derivation-path v2.2.1 [INFO] [stderr] Checking solana-precompile-error v2.2.2 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Checking solana-seed-derivable v2.2.1 [INFO] [stderr] Compiling blake3 v1.8.2 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Compiling libsecp256k1-gen-ecmult v0.2.1 [INFO] [stderr] Compiling libsecp256k1-gen-genmult v0.2.1 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking getrandom v0.1.16 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Compiling libsecp256k1 v0.6.0 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Checking socket2 v0.6.1 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking const_format v0.2.35 [INFO] [stderr] Checking bitflags v2.10.0 [INFO] [stderr] Checking serde_bytes v0.11.19 [INFO] [stderr] Checking regex v1.12.2 [INFO] [stderr] Checking ff v0.13.1 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Checking uint v0.9.5 [INFO] [stderr] Compiling pest v2.8.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking hashbrown v0.13.2 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Checking humantime v2.3.0 [INFO] [stderr] Checking base16ct v0.2.0 [INFO] [stderr] Checking const-random v0.1.18 [INFO] [stderr] Checking env_logger v0.9.3 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Checking group v0.13.0 [INFO] [stderr] Checking signal-hook v0.3.18 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Compiling axum-core v0.3.4 [INFO] [stderr] Checking solana-logger v2.3.1 [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 winnow v0.7.14 [INFO] [stderr] Checking toml_write v0.1.2 [INFO] [stderr] Checking ark-std v0.4.0 [INFO] [stderr] Checking fixed-hash v0.8.0 [INFO] [stderr] Checking solana-native-token v2.3.0 [INFO] [stderr] Checking solana-time-utils v2.2.1 [INFO] [stderr] Checking hashlink v0.8.4 [INFO] [stderr] Checking solana-big-mod-exp v2.2.1 [INFO] [stderr] Checking ordered-multimap v0.7.3 [INFO] [stderr] Checking base64ct v1.8.1 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking matchers v0.2.0 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking const-hex v1.17.0 [INFO] [stderr] Compiling pest_meta v2.8.4 [INFO] [stderr] Checking password-hash v0.5.0 [INFO] [stderr] Checking rust-ini v0.20.0 [INFO] [stderr] Checking thread_local v1.1.9 [INFO] [stderr] Checking unicode-xid v0.2.6 [INFO] [stderr] Checking nu-ansi-term v0.50.3 [INFO] [stderr] Checking solana-validator-exit v2.2.1 [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Checking yaml-rust2 v0.8.1 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.10.4 [INFO] [stderr] Compiling borsh-derive-internal v0.10.4 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling pest_generator v2.8.4 [INFO] [stderr] Compiling borsh-derive v0.10.4 [INFO] [stderr] Compiling rlp-derive v0.1.0 [INFO] [stderr] Compiling ark-serialize-derive v0.4.2 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling ark-ff-macros v0.4.2 [INFO] [stderr] Compiling ark-ff-asm v0.4.2 [INFO] [stderr] Compiling open-fastrlp-derive v0.1.1 [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] Checking borsh v0.10.4 [INFO] [stderr] Compiling impl-trait-for-tuples v0.2.3 [INFO] [stderr] Compiling parity-scale-codec-derive v3.7.5 [INFO] [stderr] Compiling derive_more-impl v1.0.0 [INFO] [stderr] Compiling prost-derive v0.12.6 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling scale-info-derive v2.11.6 [INFO] [stderr] Checking zeroize v1.8.2 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking der v0.7.10 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Checking derive_more v1.0.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking bytemuck v1.24.0 [INFO] [stderr] Checking crypto-mac v0.8.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling prost v0.12.6 [INFO] [stderr] Checking curve25519-dalek v3.2.0 [INFO] [stderr] Checking sha2 v0.9.9 [INFO] [stderr] Checking hmac v0.8.1 [INFO] [stderr] Checking hmac-drbg v0.3.0 [INFO] [stderr] Checking spki v0.7.3 [INFO] [stderr] Compiling prost-types v0.12.6 [INFO] [stderr] Checking sec1 v0.7.3 [INFO] [stderr] Checking pkcs8 v0.10.2 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking curve25519-dalek v4.1.3 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking pbkdf2 v0.11.0 [INFO] [stderr] Checking ark-serialize v0.4.2 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Checking crypto-bigint v0.5.5 [INFO] [stderr] Checking solana-seed-phrase v2.2.1 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Compiling num_enum_derive v0.7.5 [INFO] [stderr] Checking rfc6979 v0.4.0 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking thiserror v2.0.17 [INFO] [stderr] Compiling cfg_eval v0.1.2 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Checking polyval v0.6.2 [INFO] [stderr] Checking ark-ff v0.4.2 [INFO] [stderr] Compiling auto_impl v1.3.0 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling pest_derive v2.8.4 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Checking borsh v1.6.0 [INFO] [stderr] Checking ghash v0.5.1 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Checking pin-project v1.1.10 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking ed25519 v2.2.3 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Compiling prost-build v0.12.6 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking ed25519-dalek v2.2.0 [INFO] [stderr] Compiling serde_with_macros v3.16.1 [INFO] [stderr] Checking argon2 v0.5.3 [INFO] [stderr] Checking tracing-subscriber v0.3.22 [INFO] [stderr] Checking aes-gcm v0.10.3 [INFO] [stderr] Checking solana-borsh v2.2.1 [INFO] [stderr] Checking elliptic-curve v0.13.8 [INFO] [stderr] Checking num_enum v0.7.5 [INFO] [stderr] Compiling tonic-build v0.11.0 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking ecdsa v0.16.9 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking serde_with v3.16.1 [INFO] [stderr] Checking k256 v0.13.4 [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 bv v0.11.1 [INFO] [stderr] Checking solana-short-vec v2.2.1 [INFO] [stderr] Checking impl-serde v0.4.0 [INFO] [stderr] Checking chrono v0.4.42 [INFO] [stderr] Checking solana-hard-forks v2.2.1 [INFO] [stderr] Checking solana-inflation v2.2.1 [INFO] [stderr] Checking solana-poh-config 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-signature v2.3.0 [INFO] [stderr] Checking ed25519-dalek-bip32 v0.2.0 [INFO] [stderr] Checking solana-keccak-hasher v2.2.1 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking solana-serde-varint v2.2.2 [INFO] [stderr] Checking solana-pubkey v2.4.0 [INFO] [stderr] Checking solana-shred-version v2.2.1 [INFO] [stderr] Checking solana-blake3-hasher v2.2.1 [INFO] [stderr] Checking solana-commitment-config v2.2.1 [INFO] [stderr] Checking solana-epoch-info v2.2.1 [INFO] [stderr] Checking solana-reward-info v2.2.1 [INFO] [stderr] Checking solana-serde v2.2.1 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Checking ron v0.8.1 [INFO] [stderr] Checking json5 v0.4.1 [INFO] [stderr] Checking secrecy v0.8.0 [INFO] [stderr] Checking solana-packet v2.2.1 [INFO] [stderr] Checking solana-instruction v2.3.3 [INFO] [stderr] Checking solana-sdk-ids v2.2.1 [INFO] [stderr] Checking solana-nonce v2.2.1 [INFO] [stderr] Checking solana-epoch-rewards-hasher v2.2.1 [INFO] [stderr] Checking solana-rent-debits v2.2.1 [INFO] [stderr] Checking solana-sysvar-id v2.2.1 [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-bincode v2.2.1 [INFO] [stderr] Checking impl-codec v0.6.0 [INFO] [stderr] Checking scale-info v2.11.6 [INFO] [stderr] Checking solana-epoch-schedule v2.2.1 [INFO] [stderr] Checking solana-clock v2.2.2 [INFO] [stderr] Checking solana-slot-hashes v2.2.1 [INFO] [stderr] Checking solana-rent v2.2.1 [INFO] [stderr] Checking solana-signer v2.2.1 [INFO] [stderr] Checking solana-epoch-rewards v2.2.1 [INFO] [stderr] Checking solana-slot-history v2.2.1 [INFO] [stderr] Checking solana-last-restart-slot v2.2.1 [INFO] [stderr] Checking tokio v1.48.0 [INFO] [stderr] Checking rlp v0.5.2 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking solana-address-lookup-table-interface v2.2.2 [INFO] [stderr] Checking solana-account-info v2.3.0 [INFO] [stderr] Checking solana-program-pack v2.2.1 [INFO] [stderr] Checking solana-loader-v2-interface v2.2.1 [INFO] [stderr] Checking solana-feature-set v2.2.5 [INFO] [stderr] Checking solana-stable-layout v2.2.1 [INFO] [stderr] Checking impl-rlp v0.3.0 [INFO] [stderr] Checking solana-keypair v2.2.3 [INFO] [stderr] Checking solana-presigner v2.2.1 [INFO] [stderr] Checking solana-offchain-message v2.2.1 [INFO] [stderr] Checking ethbloom v0.13.0 [INFO] [stderr] Checking primitive-types v0.12.2 [INFO] [stderr] Checking solana-cpi v2.2.1 [INFO] [stderr] Checking solana-instructions-sysvar v2.2.2 [INFO] [stderr] Checking solana-program-entrypoint v2.3.0 [INFO] [stderr] Compiling locksign v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking solana-quic-definitions v2.3.1 [INFO] [stderr] Checking solana-compute-budget-interface v2.2.2 [INFO] [stderr] Checking solana-stake-interface v1.2.1 [INFO] [stderr] Checking solana-message v2.4.0 [INFO] [stderr] Checking solana-loader-v4-interface v2.2.1 [INFO] [stderr] Checking solana-secp256r1-program v2.2.4 [INFO] [stderr] Checking solana-ed25519-program v2.2.3 [INFO] [stderr] Checking solana-loader-v3-interface v5.0.0 [INFO] [stderr] Checking solana-vote-interface v2.2.6 [INFO] [stderr] Checking solana-reserved-account-keys v2.2.2 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking rlp v0.6.1 [INFO] [stderr] Checking solana-example-mocks v2.2.1 [INFO] [stderr] Checking solana-fee-structure v2.3.0 [INFO] [stderr] Checking ethereum-types v0.14.1 [INFO] [stderr] Checking solana-sysvar v2.3.0 [INFO] [stderr] Checking ark-poly v0.4.2 [INFO] [stderr] Checking solana-account v2.2.1 [INFO] [stderr] Checking open-fastrlp v0.1.4 [INFO] [stderr] Checking ethabi v18.0.0 [INFO] [stderr] Checking solana-genesis-config v2.3.0 [INFO] [stderr] Checking solana-feature-gate-interface v2.2.2 [INFO] [stderr] Checking solana-nonce-account v2.2.1 [INFO] [stderr] Checking solana-transaction-context v2.3.13 [INFO] [stderr] Checking solana-rent-collector v2.3.0 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Checking ark-ec v0.4.2 [INFO] [stderr] Checking ethers-core v2.0.14 [INFO] [stderr] Checking config v0.14.1 [INFO] [stderr] Checking solana-secp256k1-program v2.2.3 [INFO] [stderr] Checking solana-secp256k1-recover v2.2.1 [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 ark-bn254 v0.4.0 [INFO] [stderr] Checking solana-bn254 v2.2.2 [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 solana-sdk v2.3.1 [INFO] [stderr] Checking h2 v0.3.27 [INFO] [stderr] Checking tower v0.4.13 [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 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 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: for more information, see [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: `#[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: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [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: for more information, see [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] [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: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [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[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: for more information, see [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: `#[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: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [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: for more information, see [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] [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: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [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, [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, [INFO] [stdout] 45 | pub key_loader: Arc, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 46 | pub policy_engine: Arc, [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) -> 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) -> 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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn public_key_compressed(&self) -> Vec { [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 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn from_keypair_bytes(bytes: &[u8]) -> Result { [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 { [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 { [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 { [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 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn list_loaded_keys(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | pub fn list_stored_keys(&self) -> Result> { [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 { [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 { [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 { [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, [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, [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 { [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 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn from_vec(data: Vec) -> Result { [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) -> 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>; [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) -> 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 { [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 { [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 { [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 { [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 { [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 { [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: 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, [INFO] [stdout] 45 | pub key_loader: Arc, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 46 | pub policy_engine: Arc, [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) -> 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) -> 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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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-a484fe835ff951a7/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 { [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 { [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 { [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 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | pub fn list_stored_keys(&self) -> Result> { [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 { [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 { [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, [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, [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 { [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 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn from_vec(data: Vec) -> Result { [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>; [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) -> 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 { [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 { [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 1m 32s [INFO] running `Command { std: "docker" "inspect" "7a42f8c3f665f1199166cf30008a21cf8a654f588c536e1b70daf78d74a97546", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7a42f8c3f665f1199166cf30008a21cf8a654f588c536e1b70daf78d74a97546", kill_on_drop: false }` [INFO] [stdout] 7a42f8c3f665f1199166cf30008a21cf8a654f588c536e1b70daf78d74a97546