[INFO] cloning repository https://github.com/Mino1214/COREA_blockchain
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Mino1214/COREA_blockchain" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMino1214%2FCOREA_blockchain", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMino1214%2FCOREA_blockchain'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 21e356904fe10e14e37bcd936be4f1f990e58774
[INFO] testing Mino1214/COREA_blockchain against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMino1214%2FCOREA_blockchain" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Mino1214/COREA_blockchain
[INFO] finished tweaking git repo https://github.com/Mino1214/COREA_blockchain
[INFO] tweaked toml for git repo https://github.com/Mino1214/COREA_blockchain written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Mino1214/COREA_blockchain on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Mino1214/COREA_blockchain 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded deranged v0.5.3
[INFO] [stderr]   Downloaded tui v0.19.0
[INFO] [stderr]   Downloaded regex v1.11.2
[INFO] [stderr]   Downloaded secp256k1 v0.28.2
[INFO] [stderr]   Downloaded actix-http v3.11.1
[INFO] [stderr]   Downloaded secp256k1-sys v0.9.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6bf0d04db03008a83b7fe190f1d1bb9dd3262b8a56ab7b5a262743e684863038
[INFO] running `Command { std: "docker" "start" "-a" "6bf0d04db03008a83b7fe190f1d1bb9dd3262b8a56ab7b5a262743e684863038", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6bf0d04db03008a83b7fe190f1d1bb9dd3262b8a56ab7b5a262743e684863038", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6bf0d04db03008a83b7fe190f1d1bb9dd3262b8a56ab7b5a262743e684863038", kill_on_drop: false }`
[INFO] [stdout] 6bf0d04db03008a83b7fe190f1d1bb9dd3262b8a56ab7b5a262743e684863038
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 66d68b5a6163df50d94fdf36f557158603862f78d936dc947129e9dca93edb4b
[INFO] running `Command { std: "docker" "start" "-a" "66d68b5a6163df50d94fdf36f557158603862f78d936dc947129e9dca93edb4b", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling find-msvc-tools v0.1.2
[INFO] [stderr]    Compiling serde_core v1.0.225
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling cc v1.2.38
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling serde v1.0.225
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling regex-lite v0.1.7
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling bytestring v1.5.0
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling deranged v0.5.3
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling secp256k1-sys v0.9.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling brotli-decompressor v5.0.0
[INFO] [stderr]    Compiling actix-utils v3.0.1
[INFO] [stderr]    Compiling actix-service v2.0.3
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling brotli v8.0.2
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling local-channel v0.1.5
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling serde_derive v1.0.225
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]    Compiling zeroize v1.3.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.3
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling language-tags v0.3.2
[INFO] [stderr]    Compiling signature v1.6.4
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling password-hash v0.5.0
[INFO] [stderr]    Compiling crossterm v0.25.0
[INFO] [stderr]    Compiling ed25519 v1.5.3
[INFO] [stderr]    Compiling sha2 v0.9.9
[INFO] [stderr]    Compiling curve25519-dalek v3.2.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling actix-rt v2.11.0
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling actix-server v2.6.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling blake2 v0.10.6
[INFO] [stderr]    Compiling actix-codec v0.5.2
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling impl-more v0.1.9
[INFO] [stderr]    Compiling tui v0.19.0
[INFO] [stderr]    Compiling secp256k1 v0.28.2
[INFO] [stderr]    Compiling argon2 v0.5.3
[INFO] [stderr]    Compiling ed25519-dalek v1.0.1
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling actix-http v3.11.1
[INFO] [stderr]    Compiling actix-web v4.11.0
[INFO] [stderr]    Compiling corea-node v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/miner.rs:1:36
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
[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: `CheckpointManager`
[INFO] [stdout]  --> src/miner.rs:6:53
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::blockchain::{Blockchain, SecurityConfig, CheckpointManager};
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/miner.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Gauge`
[INFO] [stdout]  --> src/ui.rs:6:42
[INFO] [stdout]   |
[INFO] [stdout] 6 |     widgets::{Block, Borders, Paragraph, Gauge},
[INFO] [stdout]   |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/block.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]   --> src/block.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::arch::x86_64::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]  --> src/p2p.rs:4:51
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::{SystemTime, UNIX_EPOCH, Duration, Instant};
[INFO] [stdout]   |                                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::timeout`
[INFO] [stdout]  --> src/p2p.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::time::timeout;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CheckpointManager` and `SecurityConfig`
[INFO] [stdout]  --> src/p2p.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::blockchain::{Blockchain, CheckpointManager, NetworkCheckpoint, PeerVote, SecurityConfig};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample_start`
[INFO] [stdout]    --> src/miner.rs:276:17
[INFO] [stdout]     |
[INFO] [stdout] 276 |             let sample_start = Instant::now();
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_start`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender_id`
[INFO] [stdout]    --> src/p2p.rs:554:32
[INFO] [stdout]     |
[INFO] [stdout] 554 |             P2PMessage::Ping { sender_id, timestamp, nonce } => {
[INFO] [stdout]     |                                ^^^^^^^^^ help: try ignoring the field: `sender_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]    --> src/p2p.rs:554:43
[INFO] [stdout]     |
[INFO] [stdout] 554 |             P2PMessage::Ping { sender_id, timestamp, nonce } => {
[INFO] [stdout]     |                                           ^^^^^^^^^ help: try ignoring the field: `timestamp: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `requester_id`
[INFO] [stdout]    --> src/p2p.rs:697:80
[INFO] [stdout]     |
[INFO] [stdout] 697 |     async fn handle_chain_request(&self, start_height: u64, max_blocks: usize, requester_id: String) -> Option<P2PMessage> {
[INFO] [stdout]     |                                                                                ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requester_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `requester_id`
[INFO] [stdout]    --> src/p2p.rs:790:41
[INFO] [stdout]     |
[INFO] [stdout] 790 |     async fn handle_peer_request(&self, requester_id: String, max_peers: usize,
[INFO] [stdout]     |                                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requester_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `proposer_id`
[INFO] [stdout]    --> src/p2p.rs:842:41
[INFO] [stdout]     |
[INFO] [stdout] 842 | ...                   proposer_id: String, signatures: Vec<CheckpointSignature>) -> Option<P2PMessage> {
[INFO] [stdout]     |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proposer_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signatures`
[INFO] [stdout]    --> src/p2p.rs:842:62
[INFO] [stdout]     |
[INFO] [stdout] 842 | ...                   proposer_id: String, signatures: Vec<CheckpointSignature>) -> Option<P2PMessage> {
[INFO] [stdout]     |                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signatures`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `original_nonce`
[INFO] [stdout]    --> src/p2p.rs:906:33
[INFO] [stdout]     |
[INFO] [stdout] 906 |     async fn handle_pong(&self, original_nonce: u64, sender_id: String,
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_nonce`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> src/p2p.rs:1063:65
[INFO] [stdout]      |
[INFO] [stdout] 1063 |             if let Some(first_time) = cluster.first().and_then(|id| {
[INFO] [stdout]      |                                                                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/blockchain.rs:684:21
[INFO] [stdout]     |
[INFO] [stdout] 684 |                 let mut bc = Self::new();
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/blockchain.rs:839:56
[INFO] [stdout]     |
[INFO] [stdout] 839 |     fn validate_difficulty_adjustment_timestamp(&self, block: &Block) -> bool {
[INFO] [stdout]     |                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected_hash`
[INFO] [stdout]    --> src/blockchain.rs:919:22
[INFO] [stdout]     |
[INFO] [stdout] 919 |         for (height, expected_hash) in &self.checkpoint_manager.checkpoints {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_dir`
[INFO] [stdout]   --> src/main.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let data_dir = args.get(3).map(String::as_str).unwrap_or("./data");
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `security_monitoring_loop` is never used
[INFO] [stdout]    --> src/main.rs:204:10
[INFO] [stdout]     |
[INFO] [stdout] 204 | async fn security_monitoring_loop(p2p: P2PState) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `perform_security_checks` is never used
[INFO] [stdout]    --> src/main.rs:228:10
[INFO] [stdout]     |
[INFO] [stdout] 228 | async fn perform_security_checks(p2p: &P2PState) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_checkpoints` is never used
[INFO] [stdout]    --> src/main.rs:265:10
[INFO] [stdout]     |
[INFO] [stdout] 265 | async fn process_checkpoints(p2p: &P2PState) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_network_health` is never used
[INFO] [stdout]    --> src/main.rs:286:10
[INFO] [stdout]     |
[INFO] [stdout] 286 | async fn check_network_health(p2p: &P2PState) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `keep` is never read
[INFO] [stdout]   --> src/miner.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Pruned { keep: usize },
[INFO] [stdout]    |     ------   ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `logs` is never read
[INFO] [stdout]   --> src/miner.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct MinerState {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub logs: Vec<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MinerState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_security_check` is never read
[INFO] [stdout]   --> src/miner.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct SecurityMonitor {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub last_security_check: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SecurityMonitor` 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: variants `DifficultyBypass` and `RapidBlockGeneration` are never constructed
[INFO] [stdout]   --> src/miner.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub enum ActivityType {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 68 |     TimestampManipulation,
[INFO] [stdout] 69 |     DifficultyBypass,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     RapidBlockGeneration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ActivityType` 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: variants `Low` and `Critical` are never constructed
[INFO] [stdout]   --> src/miner.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub enum Severity {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 77 |     Low,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     Critical,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Severity` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]   --> src/miner.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct DifficultyAnomaly {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub timestamp: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DifficultyAnomaly` 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: fields `cpu_utilization`, `memory_usage`, and `hash_efficiency` are never read
[INFO] [stdout]   --> src/miner.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct PerformanceTracker {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 93 |     pub cpu_utilization: Vec<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 94 |     pub memory_usage: Vec<u64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 95 |     pub hash_efficiency: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PerformanceTracker` 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: fields `timestamp`, `hashrate`, `duration`, `cpu_temp`, and `memory_used` are never read
[INFO] [stdout]    --> src/miner.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct BenchmarkResult {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 103 |     pub timestamp: u64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 104 |     pub hashrate: u64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 105 |     pub duration: u64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 106 |     pub cpu_temp: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 107 |     pub memory_used: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BenchmarkResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `performance_monitoring` is never read
[INFO] [stdout]    --> src/miner.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub struct AdaptiveSettings {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub performance_monitoring: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AdaptiveSettings` 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 `add_log`, `addr`, `is_mining`, `get_current_difficulty`, and `mine` are never used
[INFO] [stdout]    --> src/miner.rs:814:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl MinerState {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 814 |     pub fn add_log(&mut self, _msg: &str) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 826 |     pub fn addr(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 834 |     pub fn is_mining(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 838 |     pub fn get_current_difficulty(&self) -> Option<u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 851 |     pub fn mine(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `advanced_benchmark_hashrate` is never used
[INFO] [stdout]    --> src/miner.rs:883:8
[INFO] [stdout]     |
[INFO] [stdout] 883 | pub fn advanced_benchmark_hashrate(seconds: u64, difficulty_bits: u32) -> (u64, f64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DECIMALS` is never used
[INFO] [stdout]  --> src/state.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const DECIMALS: u32 = 8;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MICRO` is never used
[INFO] [stdout]  --> src/state.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const MICRO: u128 = 100_000_000; // 1.00000000
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountState` is never constructed
[INFO] [stdout]  --> src/state.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct AccountState {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get`, `credit`, and `debit` are never used
[INFO] [stdout]   --> src/state.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl AccountState {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 15 |     pub fn get(&self, a: &str) -> u128 { *self.balances.get(a).unwrap_or(&0) }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 16 |     pub fn credit(&mut self, a: &str, v: u128) { *self.balances.entry(a.to_string()).or_default() += v; }
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 17 |     pub fn debit(&mut self, a: &str, v: u128) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mode_str` and `runtime` are never read
[INFO] [stdout]   --> src/ui.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct UICalculations {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 63 |     mode_str: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     runtime: u64,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `calculate_light_hash` is never used
[INFO] [stdout]    --> src/block.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl Block {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub fn calculate_light_hash(header: &BlockHeader) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CheckpointMessage` is never used
[INFO] [stdout]    --> src/p2p.rs:145:10
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub enum CheckpointMessage {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `chain`, `miner_state`, `message_cache`, and `node_services` are never read
[INFO] [stdout]    --> src/p2p.rs:358:9
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub struct P2PState {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 358 |     pub chain: Arc<Mutex<Blockchain>>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 359 |     pub miner_state: Arc<Mutex<MinerState>>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub message_cache: Arc<Mutex<MessageCache>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 363 |     pub node_id: String,
[INFO] [stdout] 364 |     pub node_services: Vec<Service>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `P2PState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `last_message`, `message_count`, `failed_attempts`, and `bandwidth_usage` are never read
[INFO] [stdout]    --> src/p2p.rs:371:9
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub struct PeerConnection {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub last_message: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 372 |     pub message_count: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 373 |     pub failed_attempts: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 374 |     pub bandwidth_usage: BandwidthStats,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PeerConnection` 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: variants `Connected`, `Disconnected`, and `Banned` are never constructed
[INFO] [stdout]    --> src/p2p.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | pub enum ConnectionState {
[INFO] [stdout]     |          --------------- variants in this enum
[INFO] [stdout] 379 |     Connected,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 380 |     Connecting,
[INFO] [stdout] 381 |     Disconnected,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 382 |     Banned,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConnectionState` 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: fields `bytes_sent`, `bytes_received`, `messages_sent`, `messages_received`, and `last_reset` are never read
[INFO] [stdout]    --> src/p2p.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub struct BandwidthStats {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 387 |     pub bytes_sent: u64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 388 |     pub bytes_received: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 389 |     pub messages_sent: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 390 |     pub messages_received: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 391 |     pub last_reset: u64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BandwidthStats` 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: fields `suspicious_peers`, `blacklisted_peers`, `checkpoint_votes`, and `attack_detection` are never read
[INFO] [stdout]    --> src/p2p.rs:397:9
[INFO] [stdout]     |
[INFO] [stdout] 395 | pub struct NetworkSecurityMonitor {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 396 |     pub security_alerts: Vec<SecurityAlert>,
[INFO] [stdout] 397 |     pub suspicious_peers: HashSet<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 398 |     pub blacklisted_peers: HashSet<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 399 |     pub checkpoint_votes: HashMap<u64, CheckpointVoting>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 400 |     pub attack_detection: AttackDetection,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NetworkSecurityMonitor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alert_type`, `severity`, `description`, `reporter_id`, and `confirmed_by` are never read
[INFO] [stdout]    --> src/p2p.rs:405:9
[INFO] [stdout]     |
[INFO] [stdout] 404 | pub struct SecurityAlert {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 405 |     pub alert_type: SecurityAlertType,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 406 |     pub severity: AlertSeverity,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 407 |     pub description: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 408 |     pub reporter_id: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 409 |     pub timestamp: u64,
[INFO] [stdout] 410 |     pub confirmed_by: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SecurityAlert` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `height`, `proposed_hash`, `votes_for`, `votes_against`, and `proposal_timestamp` are never read
[INFO] [stdout]    --> src/p2p.rs:415:9
[INFO] [stdout]     |
[INFO] [stdout] 414 | pub struct CheckpointVoting {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 415 |     pub height: u64,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 416 |     pub proposed_hash: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 417 |     pub votes_for: HashMap<String, String>,  // node_id -> signature
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 418 |     pub votes_against: HashMap<String, String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 419 |     pub proposal_timestamp: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CheckpointVoting` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `eclipse_detection`, `sybil_detection`, and `long_range_detection` are never read
[INFO] [stdout]    --> src/p2p.rs:424:9
[INFO] [stdout]     |
[INFO] [stdout] 423 | pub struct AttackDetection {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 424 |     pub eclipse_detection: EclipseDetection,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 425 |     pub sybil_detection: SybilDetection,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 426 |     pub long_range_detection: LongRangeDetection,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttackDetection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `isolated_peers`, `last_new_peer`, and `peer_diversity_score` are never read
[INFO] [stdout]    --> src/p2p.rs:431:9
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub struct EclipseDetection {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 431 |     pub isolated_peers: HashSet<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 432 |     pub last_new_peer: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 433 |     pub peer_diversity_score: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EclipseDetection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `similar_nodes`, `creation_time_clusters`, and `behavior_patterns` are never read
[INFO] [stdout]    --> src/p2p.rs:438:9
[INFO] [stdout]     |
[INFO] [stdout] 437 | pub struct SybilDetection {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 438 |     pub similar_nodes: HashMap<String, Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 439 |     pub creation_time_clusters: Vec<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 440 |     pub behavior_patterns: HashMap<String, Vec<f64>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SybilDetection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `competing_chains` and `chain_divergence_points` are never read
[INFO] [stdout]    --> src/p2p.rs:445:9
[INFO] [stdout]     |
[INFO] [stdout] 444 | pub struct LongRangeDetection {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] 445 |     pub competing_chains: Vec<CompetingChain>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 446 |     pub chain_divergence_points: HashMap<u64, Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LongRangeDetection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `chain_id`, `fork_point`, `chain_work`, `reporters`, and `first_seen` are never read
[INFO] [stdout]    --> src/p2p.rs:451:9
[INFO] [stdout]     |
[INFO] [stdout] 450 | pub struct CompetingChain {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 451 |     pub chain_id: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 452 |     pub fork_point: u64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 453 |     pub chain_work: u128,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 454 |     pub reporters: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 455 |     pub first_seen: u64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CompetingChain` 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: fields `seen_messages`, `block_announcements`, `cleanup_interval`, and `last_cleanup` are never read
[INFO] [stdout]    --> src/p2p.rs:460:9
[INFO] [stdout]     |
[INFO] [stdout] 459 | pub struct MessageCache {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 460 |     pub seen_messages: HashMap<String, u64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 461 |     pub block_announcements: HashMap<String, u64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 462 |     pub cleanup_interval: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 463 |     pub last_cleanup: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MessageCache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/p2p.rs:506:18
[INFO] [stdout]     |
[INFO] [stdout] 466 | impl P2PState {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 506 |     pub async fn handle_message(&self, message: P2PMessage, sender_addr: &str) -> Option<P2PMessage> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 574 |     async fn validate_message(&self, message: &P2PMessage, sender_addr: &str) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 612 |     async fn is_duplicate_message(&self, message: &P2PMessage) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 637 |     fn calculate_message_hash(&self, message: &P2PMessage) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 645 |     async fn handle_new_block(&self, block: Block, chainwork: u128, height: u64,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 697 |     async fn handle_chain_request(&self, start_height: u64, max_blocks: usize, requester_id: String) -> Option<P2PMessage> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 718 |     async fn handle_chain_response(&self, blocks: Vec<Block>, total_chainwork: u128,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 757 |     async fn handle_node_announcement(&self, node_id: String, _node_type: NodeType,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 790 |     async fn handle_peer_request(&self, requester_id: String, max_peers: usize,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 807 |     async fn handle_security_alert(&self, alert_type: SecurityAlertType, description: String,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 841 |     async fn handle_checkpoint_proposal(&self, height: u64, hash: String,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 882 |     async fn handle_checkpoint_vote(&self, height: u64, hash: String, vote: bool,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 906 |     async fn handle_pong(&self, original_nonce: u64, sender_id: String,
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 925 |     async fn report_security_issue(&self, alert_type: SecurityAlertType,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 940 |     async fn verify_block_security(&self, _block_height: u64) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 945 |     async fn validate_security_alert(&self, _alert_type: &SecurityAlertType,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 952 |     async fn increase_peer_reputation(&self, peer_id: &str, amount: f64) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 962 |     async fn decrease_peer_reputation(&self, peer_id: &str, amount: f64) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 991 |     pub fn get_network_stats(&self) -> NetworkStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cleanup_old_messages` is never used
[INFO] [stdout]     --> src/p2p.rs:1039:12
[INFO] [stdout]      |
[INFO] [stdout] 1029 | impl MessageCache {
[INFO] [stdout]      | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1039 |     pub fn cleanup_old_messages(&mut self, now: u64) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check_similar_node` is never used
[INFO] [stdout]     --> src/p2p.rs:1048:12
[INFO] [stdout]      |
[INFO] [stdout] 1047 | impl SybilDetection {
[INFO] [stdout]      | ------------------- method in this implementation
[INFO] [stdout] 1048 |     pub fn check_similar_node(&mut self, node_id: &str, address: &str, timestamp: u64) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_headers` is never used
[INFO] [stdout]   --> src/storage.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn save_headers<P: AsRef<Path>>(path: P, headers: &[BlockHeader]) -> std::io::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_headers` is never used
[INFO] [stdout]   --> src/storage.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn load_headers<P: AsRef<Path>>(path: P) -> Option<Vec<BlockHeader>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `sign` and `verify` are never used
[INFO] [stdout]   --> src/wallet.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Wallet {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn sign(&self, msg: &[u8]) -> Signature {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn verify(&self, msg: &[u8], sig: &Signature) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppState` is never constructed
[INFO] [stdout]  --> src/api.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct AppState {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PowParams` is never constructed
[INFO] [stdout]   --> src/pow.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct PowParams {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `header_preimage` is never used
[INFO] [stdout]   --> src/pow.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn header_preimage(h: &BlockHeader) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pow_digest` is never used
[INFO] [stdout]   --> src/pow.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn pow_digest(preimage: &[u8], nonce: u64, params: &PowParams) -> [u8; 32] {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `meets_target` is never used
[INFO] [stdout]   --> src/pow.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn meets_target(d: &[u8; 32], target_bits: u32) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mine` is never used
[INFO] [stdout]   --> src/pow.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn mine(mut header: BlockHeader, txs: &[Tx], params: &PowParams) -> Block {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify` is never used
[INFO] [stdout]   --> src/pow.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn verify(block: &Block, params: &PowParams) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `current_difficulty`, `average_block_time`, `median_block_time`, `network_hashrate`, and `blocks_in_window` are never read
[INFO] [stdout]    --> src/blockchain.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct NetworkStats {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 147 |     pub current_difficulty: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 148 |     pub average_block_time: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 149 |     pub median_block_time: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 150 |     pub network_hashrate: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 151 |     pub blocks_in_window: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NetworkStats` 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 `display` is never used
[INFO] [stdout]    --> src/blockchain.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl NetworkStats {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 157 |     pub fn display(&self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheckpointStats` is never constructed
[INFO] [stdout]    --> src/blockchain.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub struct CheckpointStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `mainnet`, `testnet`, `localnet`, `create_genesis_block`, `calculate_network_genesis_hash`, and `print_network_info` are never used
[INFO] [stdout]    --> src/blockchain.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl NetworkConfig {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 179 |     // 메인넷 설정 - 완전한 Fair Launch
[INFO] [stdout] 180 |     pub fn mainnet() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn testnet() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn localnet() -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn create_genesis_block(&self) -> Block {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     fn calculate_network_genesis_hash(block: &Block, config: &NetworkConfig) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn print_network_info(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `propose_checkpoint`, `receive_peer_vote`, `check_consensus_reached`, `finalize_checkpoint`, and `detect_long_range_attack` are never used
[INFO] [stdout]    --> src/blockchain.rs:369:12
[INFO] [stdout]     |
[INFO] [stdout] 356 | impl NetworkCheckpointManager {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub fn propose_checkpoint(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     pub fn receive_peer_vote(&mut self, vote: PeerVote) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     fn check_consensus_reached(&mut self, height: u64) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 447 |     fn finalize_checkpoint(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 510 |     pub fn detect_long_range_attack(&self, fork_point: u64, chain_length: u64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_with_config`, `upgrade_to_network_checkpoints`, `replace_with_stronger_chain`, `validate_complete_chain`, `add_block`, and `get_difficulty_info` are never used
[INFO] [stdout]     --> src/blockchain.rs:627:12
[INFO] [stdout]      |
[INFO] [stdout]  599 | impl Blockchain {
[INFO] [stdout]      | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  627 |     pub fn new_with_config(config: NetworkConfig) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  692 |     pub fn upgrade_to_network_checkpoints(&mut self) -> Result<(), String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1090 |     pub fn replace_with_stronger_chain(&mut self, other: &Blockchain, path: &str) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1121 |     fn validate_complete_chain(&self, chain: &Blockchain) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1298 |     pub fn add_block(&mut self, miner: &str) -> &Block {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1358 |     pub fn get_difficulty_info(&self) -> (u32, u64, f64) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_blockchain_for_network` is never used
[INFO] [stdout]     --> src/blockchain.rs:1388:8
[INFO] [stdout]      |
[INFO] [stdout] 1388 | pub fn init_blockchain_for_network(network_type: &str) -> (Blockchain, NetworkConfig) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `payload`, `sign`, `verify`, and `id` are never used
[INFO] [stdout]   --> src/tx.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Tx {
[INFO] [stdout]    | ------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(from: String, to: String, amount: u64, note: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn payload(&self) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn sign(&mut self, wallet: &Wallet) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn verify(&self, public: &PublicKey) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn id(&self) -> String {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 32s
[INFO] running `Command { std: "docker" "inspect" "66d68b5a6163df50d94fdf36f557158603862f78d936dc947129e9dca93edb4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66d68b5a6163df50d94fdf36f557158603862f78d936dc947129e9dca93edb4b", kill_on_drop: false }`
[INFO] [stdout] 66d68b5a6163df50d94fdf36f557158603862f78d936dc947129e9dca93edb4b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b1d9a96e70bd39ffe2a1bb152a881634a5961b58d27084dc2b845aa4a428c299
[INFO] running `Command { std: "docker" "start" "-a" "b1d9a96e70bd39ffe2a1bb152a881634a5961b58d27084dc2b845aa4a428c299", kill_on_drop: false }`
[INFO] [stderr]    Compiling corea-node v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/miner.rs:1:36
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
[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: `CheckpointManager`
[INFO] [stdout]  --> src/miner.rs:6:53
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::blockchain::{Blockchain, SecurityConfig, CheckpointManager};
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/miner.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Gauge`
[INFO] [stdout]  --> src/ui.rs:6:42
[INFO] [stdout]   |
[INFO] [stdout] 6 |     widgets::{Block, Borders, Paragraph, Gauge},
[INFO] [stdout]   |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/block.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]   --> src/block.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::arch::x86_64::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]  --> src/p2p.rs:4:51
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::{SystemTime, UNIX_EPOCH, Duration, Instant};
[INFO] [stdout]   |                                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::timeout`
[INFO] [stdout]  --> src/p2p.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::time::timeout;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CheckpointManager` and `SecurityConfig`
[INFO] [stdout]  --> src/p2p.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::blockchain::{Blockchain, CheckpointManager, NetworkCheckpoint, PeerVote, SecurityConfig};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample_start`
[INFO] [stdout]    --> src/miner.rs:276:17
[INFO] [stdout]     |
[INFO] [stdout] 276 |             let sample_start = Instant::now();
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_start`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender_id`
[INFO] [stdout]    --> src/p2p.rs:554:32
[INFO] [stdout]     |
[INFO] [stdout] 554 |             P2PMessage::Ping { sender_id, timestamp, nonce } => {
[INFO] [stdout]     |                                ^^^^^^^^^ help: try ignoring the field: `sender_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]    --> src/p2p.rs:554:43
[INFO] [stdout]     |
[INFO] [stdout] 554 |             P2PMessage::Ping { sender_id, timestamp, nonce } => {
[INFO] [stdout]     |                                           ^^^^^^^^^ help: try ignoring the field: `timestamp: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `requester_id`
[INFO] [stdout]    --> src/p2p.rs:697:80
[INFO] [stdout]     |
[INFO] [stdout] 697 |     async fn handle_chain_request(&self, start_height: u64, max_blocks: usize, requester_id: String) -> Option<P2PMessage> {
[INFO] [stdout]     |                                                                                ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requester_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `requester_id`
[INFO] [stdout]    --> src/p2p.rs:790:41
[INFO] [stdout]     |
[INFO] [stdout] 790 |     async fn handle_peer_request(&self, requester_id: String, max_peers: usize,
[INFO] [stdout]     |                                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requester_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `proposer_id`
[INFO] [stdout]    --> src/p2p.rs:842:41
[INFO] [stdout]     |
[INFO] [stdout] 842 | ...                   proposer_id: String, signatures: Vec<CheckpointSignature>) -> Option<P2PMessage> {
[INFO] [stdout]     |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proposer_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signatures`
[INFO] [stdout]    --> src/p2p.rs:842:62
[INFO] [stdout]     |
[INFO] [stdout] 842 | ...                   proposer_id: String, signatures: Vec<CheckpointSignature>) -> Option<P2PMessage> {
[INFO] [stdout]     |                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signatures`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `original_nonce`
[INFO] [stdout]    --> src/p2p.rs:906:33
[INFO] [stdout]     |
[INFO] [stdout] 906 |     async fn handle_pong(&self, original_nonce: u64, sender_id: String,
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_nonce`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> src/p2p.rs:1063:65
[INFO] [stdout]      |
[INFO] [stdout] 1063 |             if let Some(first_time) = cluster.first().and_then(|id| {
[INFO] [stdout]      |                                                                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/blockchain.rs:684:21
[INFO] [stdout]     |
[INFO] [stdout] 684 |                 let mut bc = Self::new();
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/blockchain.rs:839:56
[INFO] [stdout]     |
[INFO] [stdout] 839 |     fn validate_difficulty_adjustment_timestamp(&self, block: &Block) -> bool {
[INFO] [stdout]     |                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected_hash`
[INFO] [stdout]    --> src/blockchain.rs:919:22
[INFO] [stdout]     |
[INFO] [stdout] 919 |         for (height, expected_hash) in &self.checkpoint_manager.checkpoints {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_dir`
[INFO] [stdout]   --> src/main.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let data_dir = args.get(3).map(String::as_str).unwrap_or("./data");
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `security_monitoring_loop` is never used
[INFO] [stdout]    --> src/main.rs:204:10
[INFO] [stdout]     |
[INFO] [stdout] 204 | async fn security_monitoring_loop(p2p: P2PState) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `perform_security_checks` is never used
[INFO] [stdout]    --> src/main.rs:228:10
[INFO] [stdout]     |
[INFO] [stdout] 228 | async fn perform_security_checks(p2p: &P2PState) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_checkpoints` is never used
[INFO] [stdout]    --> src/main.rs:265:10
[INFO] [stdout]     |
[INFO] [stdout] 265 | async fn process_checkpoints(p2p: &P2PState) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_network_health` is never used
[INFO] [stdout]    --> src/main.rs:286:10
[INFO] [stdout]     |
[INFO] [stdout] 286 | async fn check_network_health(p2p: &P2PState) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `keep` is never read
[INFO] [stdout]   --> src/miner.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Pruned { keep: usize },
[INFO] [stdout]    |     ------   ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `logs` is never read
[INFO] [stdout]   --> src/miner.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct MinerState {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub logs: Vec<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MinerState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_security_check` is never read
[INFO] [stdout]   --> src/miner.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct SecurityMonitor {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub last_security_check: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SecurityMonitor` 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: variants `DifficultyBypass` and `RapidBlockGeneration` are never constructed
[INFO] [stdout]   --> src/miner.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub enum ActivityType {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 68 |     TimestampManipulation,
[INFO] [stdout] 69 |     DifficultyBypass,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     RapidBlockGeneration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ActivityType` 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: variants `Low` and `Critical` are never constructed
[INFO] [stdout]   --> src/miner.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub enum Severity {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 77 |     Low,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     Critical,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Severity` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]   --> src/miner.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct DifficultyAnomaly {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub timestamp: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DifficultyAnomaly` 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: fields `cpu_utilization`, `memory_usage`, and `hash_efficiency` are never read
[INFO] [stdout]   --> src/miner.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct PerformanceTracker {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 93 |     pub cpu_utilization: Vec<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 94 |     pub memory_usage: Vec<u64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 95 |     pub hash_efficiency: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PerformanceTracker` 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: fields `timestamp`, `hashrate`, `duration`, `cpu_temp`, and `memory_used` are never read
[INFO] [stdout]    --> src/miner.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct BenchmarkResult {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 103 |     pub timestamp: u64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 104 |     pub hashrate: u64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 105 |     pub duration: u64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 106 |     pub cpu_temp: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 107 |     pub memory_used: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BenchmarkResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `performance_monitoring` is never read
[INFO] [stdout]    --> src/miner.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub struct AdaptiveSettings {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub performance_monitoring: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AdaptiveSettings` 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 `add_log`, `addr`, `is_mining`, `get_current_difficulty`, and `mine` are never used
[INFO] [stdout]    --> src/miner.rs:814:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl MinerState {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 814 |     pub fn add_log(&mut self, _msg: &str) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 826 |     pub fn addr(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 834 |     pub fn is_mining(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 838 |     pub fn get_current_difficulty(&self) -> Option<u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 851 |     pub fn mine(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `advanced_benchmark_hashrate` is never used
[INFO] [stdout]    --> src/miner.rs:883:8
[INFO] [stdout]     |
[INFO] [stdout] 883 | pub fn advanced_benchmark_hashrate(seconds: u64, difficulty_bits: u32) -> (u64, f64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DECIMALS` is never used
[INFO] [stdout]  --> src/state.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const DECIMALS: u32 = 8;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MICRO` is never used
[INFO] [stdout]  --> src/state.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const MICRO: u128 = 100_000_000; // 1.00000000
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountState` is never constructed
[INFO] [stdout]  --> src/state.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct AccountState {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get`, `credit`, and `debit` are never used
[INFO] [stdout]   --> src/state.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl AccountState {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 15 |     pub fn get(&self, a: &str) -> u128 { *self.balances.get(a).unwrap_or(&0) }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 16 |     pub fn credit(&mut self, a: &str, v: u128) { *self.balances.entry(a.to_string()).or_default() += v; }
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 17 |     pub fn debit(&mut self, a: &str, v: u128) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mode_str` and `runtime` are never read
[INFO] [stdout]   --> src/ui.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct UICalculations {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 63 |     mode_str: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     runtime: u64,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `calculate_light_hash` is never used
[INFO] [stdout]    --> src/block.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl Block {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub fn calculate_light_hash(header: &BlockHeader) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CheckpointMessage` is never used
[INFO] [stdout]    --> src/p2p.rs:145:10
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub enum CheckpointMessage {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `chain`, `miner_state`, `message_cache`, and `node_services` are never read
[INFO] [stdout]    --> src/p2p.rs:358:9
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub struct P2PState {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 358 |     pub chain: Arc<Mutex<Blockchain>>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 359 |     pub miner_state: Arc<Mutex<MinerState>>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub message_cache: Arc<Mutex<MessageCache>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 363 |     pub node_id: String,
[INFO] [stdout] 364 |     pub node_services: Vec<Service>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `P2PState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `last_message`, `message_count`, `failed_attempts`, and `bandwidth_usage` are never read
[INFO] [stdout]    --> src/p2p.rs:371:9
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub struct PeerConnection {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub last_message: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 372 |     pub message_count: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 373 |     pub failed_attempts: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 374 |     pub bandwidth_usage: BandwidthStats,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PeerConnection` 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: variants `Connected`, `Disconnected`, and `Banned` are never constructed
[INFO] [stdout]    --> src/p2p.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | pub enum ConnectionState {
[INFO] [stdout]     |          --------------- variants in this enum
[INFO] [stdout] 379 |     Connected,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 380 |     Connecting,
[INFO] [stdout] 381 |     Disconnected,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 382 |     Banned,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConnectionState` 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: fields `bytes_sent`, `bytes_received`, `messages_sent`, `messages_received`, and `last_reset` are never read
[INFO] [stdout]    --> src/p2p.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub struct BandwidthStats {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 387 |     pub bytes_sent: u64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 388 |     pub bytes_received: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 389 |     pub messages_sent: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 390 |     pub messages_received: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 391 |     pub last_reset: u64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BandwidthStats` 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: fields `suspicious_peers`, `blacklisted_peers`, `checkpoint_votes`, and `attack_detection` are never read
[INFO] [stdout]    --> src/p2p.rs:397:9
[INFO] [stdout]     |
[INFO] [stdout] 395 | pub struct NetworkSecurityMonitor {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 396 |     pub security_alerts: Vec<SecurityAlert>,
[INFO] [stdout] 397 |     pub suspicious_peers: HashSet<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 398 |     pub blacklisted_peers: HashSet<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 399 |     pub checkpoint_votes: HashMap<u64, CheckpointVoting>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 400 |     pub attack_detection: AttackDetection,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NetworkSecurityMonitor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alert_type`, `severity`, `description`, `reporter_id`, and `confirmed_by` are never read
[INFO] [stdout]    --> src/p2p.rs:405:9
[INFO] [stdout]     |
[INFO] [stdout] 404 | pub struct SecurityAlert {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 405 |     pub alert_type: SecurityAlertType,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 406 |     pub severity: AlertSeverity,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 407 |     pub description: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 408 |     pub reporter_id: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 409 |     pub timestamp: u64,
[INFO] [stdout] 410 |     pub confirmed_by: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SecurityAlert` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `height`, `proposed_hash`, `votes_for`, `votes_against`, and `proposal_timestamp` are never read
[INFO] [stdout]    --> src/p2p.rs:415:9
[INFO] [stdout]     |
[INFO] [stdout] 414 | pub struct CheckpointVoting {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 415 |     pub height: u64,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 416 |     pub proposed_hash: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 417 |     pub votes_for: HashMap<String, String>,  // node_id -> signature
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 418 |     pub votes_against: HashMap<String, String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 419 |     pub proposal_timestamp: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CheckpointVoting` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `eclipse_detection`, `sybil_detection`, and `long_range_detection` are never read
[INFO] [stdout]    --> src/p2p.rs:424:9
[INFO] [stdout]     |
[INFO] [stdout] 423 | pub struct AttackDetection {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 424 |     pub eclipse_detection: EclipseDetection,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 425 |     pub sybil_detection: SybilDetection,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 426 |     pub long_range_detection: LongRangeDetection,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AttackDetection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `isolated_peers`, `last_new_peer`, and `peer_diversity_score` are never read
[INFO] [stdout]    --> src/p2p.rs:431:9
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub struct EclipseDetection {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 431 |     pub isolated_peers: HashSet<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 432 |     pub last_new_peer: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 433 |     pub peer_diversity_score: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EclipseDetection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `similar_nodes`, `creation_time_clusters`, and `behavior_patterns` are never read
[INFO] [stdout]    --> src/p2p.rs:438:9
[INFO] [stdout]     |
[INFO] [stdout] 437 | pub struct SybilDetection {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 438 |     pub similar_nodes: HashMap<String, Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 439 |     pub creation_time_clusters: Vec<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 440 |     pub behavior_patterns: HashMap<String, Vec<f64>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SybilDetection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `competing_chains` and `chain_divergence_points` are never read
[INFO] [stdout]    --> src/p2p.rs:445:9
[INFO] [stdout]     |
[INFO] [stdout] 444 | pub struct LongRangeDetection {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] 445 |     pub competing_chains: Vec<CompetingChain>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 446 |     pub chain_divergence_points: HashMap<u64, Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LongRangeDetection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `chain_id`, `fork_point`, `chain_work`, `reporters`, and `first_seen` are never read
[INFO] [stdout]    --> src/p2p.rs:451:9
[INFO] [stdout]     |
[INFO] [stdout] 450 | pub struct CompetingChain {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 451 |     pub chain_id: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 452 |     pub fork_point: u64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 453 |     pub chain_work: u128,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 454 |     pub reporters: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 455 |     pub first_seen: u64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CompetingChain` 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: fields `seen_messages`, `block_announcements`, `cleanup_interval`, and `last_cleanup` are never read
[INFO] [stdout]    --> src/p2p.rs:460:9
[INFO] [stdout]     |
[INFO] [stdout] 459 | pub struct MessageCache {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 460 |     pub seen_messages: HashMap<String, u64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 461 |     pub block_announcements: HashMap<String, u64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 462 |     pub cleanup_interval: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 463 |     pub last_cleanup: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MessageCache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/p2p.rs:506:18
[INFO] [stdout]     |
[INFO] [stdout] 466 | impl P2PState {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 506 |     pub async fn handle_message(&self, message: P2PMessage, sender_addr: &str) -> Option<P2PMessage> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 574 |     async fn validate_message(&self, message: &P2PMessage, sender_addr: &str) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 612 |     async fn is_duplicate_message(&self, message: &P2PMessage) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 637 |     fn calculate_message_hash(&self, message: &P2PMessage) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 645 |     async fn handle_new_block(&self, block: Block, chainwork: u128, height: u64,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 697 |     async fn handle_chain_request(&self, start_height: u64, max_blocks: usize, requester_id: String) -> Option<P2PMessage> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 718 |     async fn handle_chain_response(&self, blocks: Vec<Block>, total_chainwork: u128,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 757 |     async fn handle_node_announcement(&self, node_id: String, _node_type: NodeType,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 790 |     async fn handle_peer_request(&self, requester_id: String, max_peers: usize,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 807 |     async fn handle_security_alert(&self, alert_type: SecurityAlertType, description: String,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 841 |     async fn handle_checkpoint_proposal(&self, height: u64, hash: String,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 882 |     async fn handle_checkpoint_vote(&self, height: u64, hash: String, vote: bool,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 906 |     async fn handle_pong(&self, original_nonce: u64, sender_id: String,
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 925 |     async fn report_security_issue(&self, alert_type: SecurityAlertType,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 940 |     async fn verify_block_security(&self, _block_height: u64) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 945 |     async fn validate_security_alert(&self, _alert_type: &SecurityAlertType,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 952 |     async fn increase_peer_reputation(&self, peer_id: &str, amount: f64) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 962 |     async fn decrease_peer_reputation(&self, peer_id: &str, amount: f64) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 991 |     pub fn get_network_stats(&self) -> NetworkStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cleanup_old_messages` is never used
[INFO] [stdout]     --> src/p2p.rs:1039:12
[INFO] [stdout]      |
[INFO] [stdout] 1029 | impl MessageCache {
[INFO] [stdout]      | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1039 |     pub fn cleanup_old_messages(&mut self, now: u64) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check_similar_node` is never used
[INFO] [stdout]     --> src/p2p.rs:1048:12
[INFO] [stdout]      |
[INFO] [stdout] 1047 | impl SybilDetection {
[INFO] [stdout]      | ------------------- method in this implementation
[INFO] [stdout] 1048 |     pub fn check_similar_node(&mut self, node_id: &str, address: &str, timestamp: u64) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_headers` is never used
[INFO] [stdout]   --> src/storage.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn save_headers<P: AsRef<Path>>(path: P, headers: &[BlockHeader]) -> std::io::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_headers` is never used
[INFO] [stdout]   --> src/storage.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn load_headers<P: AsRef<Path>>(path: P) -> Option<Vec<BlockHeader>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `sign` and `verify` are never used
[INFO] [stdout]   --> src/wallet.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Wallet {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn sign(&self, msg: &[u8]) -> Signature {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn verify(&self, msg: &[u8], sig: &Signature) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppState` is never constructed
[INFO] [stdout]  --> src/api.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct AppState {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PowParams` is never constructed
[INFO] [stdout]   --> src/pow.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct PowParams {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `header_preimage` is never used
[INFO] [stdout]   --> src/pow.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn header_preimage(h: &BlockHeader) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pow_digest` is never used
[INFO] [stdout]   --> src/pow.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn pow_digest(preimage: &[u8], nonce: u64, params: &PowParams) -> [u8; 32] {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `meets_target` is never used
[INFO] [stdout]   --> src/pow.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn meets_target(d: &[u8; 32], target_bits: u32) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mine` is never used
[INFO] [stdout]   --> src/pow.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn mine(mut header: BlockHeader, txs: &[Tx], params: &PowParams) -> Block {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify` is never used
[INFO] [stdout]   --> src/pow.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn verify(block: &Block, params: &PowParams) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `current_difficulty`, `average_block_time`, `median_block_time`, `network_hashrate`, and `blocks_in_window` are never read
[INFO] [stdout]    --> src/blockchain.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct NetworkStats {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 147 |     pub current_difficulty: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 148 |     pub average_block_time: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 149 |     pub median_block_time: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 150 |     pub network_hashrate: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 151 |     pub blocks_in_window: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NetworkStats` 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 `display` is never used
[INFO] [stdout]    --> src/blockchain.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl NetworkStats {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 157 |     pub fn display(&self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheckpointStats` is never constructed
[INFO] [stdout]    --> src/blockchain.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub struct CheckpointStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `mainnet`, `testnet`, `localnet`, `create_genesis_block`, `calculate_network_genesis_hash`, and `print_network_info` are never used
[INFO] [stdout]    --> src/blockchain.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl NetworkConfig {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 179 |     // 메인넷 설정 - 완전한 Fair Launch
[INFO] [stdout] 180 |     pub fn mainnet() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn testnet() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn localnet() -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn create_genesis_block(&self) -> Block {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     fn calculate_network_genesis_hash(block: &Block, config: &NetworkConfig) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn print_network_info(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_with_config`, `upgrade_to_network_checkpoints`, `replace_with_stronger_chain`, `validate_complete_chain`, `add_block`, and `get_difficulty_info` are never used
[INFO] [stdout]     --> src/blockchain.rs:627:12
[INFO] [stdout]      |
[INFO] [stdout]  599 | impl Blockchain {
[INFO] [stdout]      | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  627 |     pub fn new_with_config(config: NetworkConfig) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  692 |     pub fn upgrade_to_network_checkpoints(&mut self) -> Result<(), String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1090 |     pub fn replace_with_stronger_chain(&mut self, other: &Blockchain, path: &str) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1121 |     fn validate_complete_chain(&self, chain: &Blockchain) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1298 |     pub fn add_block(&mut self, miner: &str) -> &Block {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1358 |     pub fn get_difficulty_info(&self) -> (u32, u64, f64) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_blockchain_for_network` is never used
[INFO] [stdout]     --> src/blockchain.rs:1388:8
[INFO] [stdout]      |
[INFO] [stdout] 1388 | pub fn init_blockchain_for_network(network_type: &str) -> (Blockchain, NetworkConfig) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `payload`, `sign`, `verify`, and `id` are never used
[INFO] [stdout]   --> src/tx.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Tx {
[INFO] [stdout]    | ------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(from: String, to: String, amount: u64, note: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn payload(&self) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn sign(&mut self, wallet: &Wallet) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn verify(&self, public: &PublicKey) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn id(&self) -> String {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.36s
[INFO] running `Command { std: "docker" "inspect" "b1d9a96e70bd39ffe2a1bb152a881634a5961b58d27084dc2b845aa4a428c299", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1d9a96e70bd39ffe2a1bb152a881634a5961b58d27084dc2b845aa4a428c299", kill_on_drop: false }`
[INFO] [stdout] b1d9a96e70bd39ffe2a1bb152a881634a5961b58d27084dc2b845aa4a428c299
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a38969315815e8942922a869612c59d123e10edf68cb52a6e7696db3ed549480
[INFO] running `Command { std: "docker" "start" "-a" "a38969315815e8942922a869612c59d123e10edf68cb52a6e7696db3ed549480", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stderr]  --> src/miner.rs:1:36
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
[INFO] [stderr]   |                                    ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CheckpointManager`
[INFO] [stderr]  --> src/miner.rs:6:53
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::blockchain::{Blockchain, SecurityConfig, CheckpointManager};
[INFO] [stderr]   |                                                     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/miner.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Gauge`
[INFO] [stderr]  --> src/ui.rs:6:42
[INFO] [stderr]   |
[INFO] [stderr] 6 |     widgets::{Block, Borders, Paragraph, Gauge},
[INFO] [stderr]   |                                          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/block.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::arch::x86_64::*`
[INFO] [stderr]   --> src/block.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::arch::x86_64::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Instant`
[INFO] [stderr]  --> src/p2p.rs:4:51
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::time::{SystemTime, UNIX_EPOCH, Duration, Instant};
[INFO] [stderr]   |                                                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::time::timeout`
[INFO] [stderr]  --> src/p2p.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use tokio::time::timeout;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CheckpointManager` and `SecurityConfig`
[INFO] [stderr]  --> src/p2p.rs:6:37
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::blockchain::{Blockchain, CheckpointManager, NetworkCheckpoint, PeerVote, SecurityConfig};
[INFO] [stderr]   |                                     ^^^^^^^^^^^^^^^^^                               ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sample_start`
[INFO] [stderr]    --> src/miner.rs:276:17
[INFO] [stderr]     |
[INFO] [stderr] 276 |             let sample_start = Instant::now();
[INFO] [stderr]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_start`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sender_id`
[INFO] [stderr]    --> src/p2p.rs:554:32
[INFO] [stderr]     |
[INFO] [stderr] 554 |             P2PMessage::Ping { sender_id, timestamp, nonce } => {
[INFO] [stderr]     |                                ^^^^^^^^^ help: try ignoring the field: `sender_id: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `timestamp`
[INFO] [stderr]    --> src/p2p.rs:554:43
[INFO] [stderr]     |
[INFO] [stderr] 554 |             P2PMessage::Ping { sender_id, timestamp, nonce } => {
[INFO] [stderr]     |                                           ^^^^^^^^^ help: try ignoring the field: `timestamp: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `requester_id`
[INFO] [stderr]    --> src/p2p.rs:697:80
[INFO] [stderr]     |
[INFO] [stderr] 697 |     async fn handle_chain_request(&self, start_height: u64, max_blocks: usize, requester_id: String) -> Option<P2PMessage> {
[INFO] [stderr]     |                                                                                ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requester_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `requester_id`
[INFO] [stderr]    --> src/p2p.rs:790:41
[INFO] [stderr]     |
[INFO] [stderr] 790 |     async fn handle_peer_request(&self, requester_id: String, max_peers: usize,
[INFO] [stderr]     |                                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requester_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `proposer_id`
[INFO] [stderr]    --> src/p2p.rs:842:41
[INFO] [stderr]     |
[INFO] [stderr] 842 | ...                   proposer_id: String, signatures: Vec<CheckpointSignature>) -> Option<P2PMessage> {
[INFO] [stderr]     |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proposer_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `signatures`
[INFO] [stderr]    --> src/p2p.rs:842:62
[INFO] [stderr]     |
[INFO] [stderr] 842 | ...                   proposer_id: String, signatures: Vec<CheckpointSignature>) -> Option<P2PMessage> {
[INFO] [stderr]     |                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signatures`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `original_nonce`
[INFO] [stderr]    --> src/p2p.rs:906:33
[INFO] [stderr]     |
[INFO] [stderr] 906 |     async fn handle_pong(&self, original_nonce: u64, sender_id: String,
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_nonce`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]     --> src/p2p.rs:1063:65
[INFO] [stderr]      |
[INFO] [stderr] 1063 |             if let Some(first_time) = cluster.first().and_then(|id| {
[INFO] [stderr]      |                                                                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/blockchain.rs:684:21
[INFO] [stderr]     |
[INFO] [stderr] 684 |                 let mut bc = Self::new();
[INFO] [stderr]     |                     ----^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `block`
[INFO] [stderr]    --> src/blockchain.rs:839:56
[INFO] [stderr]     |
[INFO] [stderr] 839 |     fn validate_difficulty_adjustment_timestamp(&self, block: &Block) -> bool {
[INFO] [stderr]     |                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expected_hash`
[INFO] [stderr]    --> src/blockchain.rs:919:22
[INFO] [stderr]     |
[INFO] [stderr] 919 |         for (height, expected_hash) in &self.checkpoint_manager.checkpoints {
[INFO] [stderr]     |                      ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_hash`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data_dir`
[INFO] [stderr]   --> src/main.rs:48:9
[INFO] [stderr]    |
[INFO] [stderr] 48 |     let data_dir = args.get(3).map(String::as_str).unwrap_or("./data");
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_dir`
[INFO] [stderr] 
[INFO] [stderr] warning: function `security_monitoring_loop` is never used
[INFO] [stderr]    --> src/main.rs:204:10
[INFO] [stderr]     |
[INFO] [stderr] 204 | async fn security_monitoring_loop(p2p: P2PState) {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `perform_security_checks` is never used
[INFO] [stderr]    --> src/main.rs:228:10
[INFO] [stderr]     |
[INFO] [stderr] 228 | async fn perform_security_checks(p2p: &P2PState) {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `process_checkpoints` is never used
[INFO] [stderr]    --> src/main.rs:265:10
[INFO] [stderr]     |
[INFO] [stderr] 265 | async fn process_checkpoints(p2p: &P2PState) {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `check_network_health` is never used
[INFO] [stderr]    --> src/main.rs:286:10
[INFO] [stderr]     |
[INFO] [stderr] 286 | async fn check_network_health(p2p: &P2PState) {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `keep` is never read
[INFO] [stderr]   --> src/miner.rs:13:14
[INFO] [stderr]    |
[INFO] [stderr] 13 |     Pruned { keep: usize },
[INFO] [stderr]    |     ------   ^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `NodeMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `logs` is never read
[INFO] [stderr]   --> src/miner.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct MinerState {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 22 |     pub logs: Vec<String>,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MinerState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `last_security_check` is never read
[INFO] [stderr]   --> src/miner.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub struct SecurityMonitor {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 55 |     pub last_security_check: u64,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SecurityMonitor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `DifficultyBypass` and `RapidBlockGeneration` are never constructed
[INFO] [stderr]   --> src/miner.rs:69:5
[INFO] [stderr]    |
[INFO] [stderr] 67 | pub enum ActivityType {
[INFO] [stderr]    |          ------------ variants in this enum
[INFO] [stderr] 68 |     TimestampManipulation,
[INFO] [stderr] 69 |     DifficultyBypass,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 72 |     RapidBlockGeneration,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ActivityType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Low` and `Critical` are never constructed
[INFO] [stderr]   --> src/miner.rs:77:5
[INFO] [stderr]    |
[INFO] [stderr] 76 | pub enum Severity {
[INFO] [stderr]    |          -------- variants in this enum
[INFO] [stderr] 77 |     Low,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] ...
[INFO] [stderr] 80 |     Critical,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Severity` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `timestamp` is never read
[INFO] [stderr]   --> src/miner.rs:88:9
[INFO] [stderr]    |
[INFO] [stderr] 84 | pub struct DifficultyAnomaly {
[INFO] [stderr]    |            ----------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 88 |     pub timestamp: u64,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DifficultyAnomaly` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `cpu_utilization`, `memory_usage`, and `hash_efficiency` are never read
[INFO] [stderr]   --> src/miner.rs:93:9
[INFO] [stderr]    |
[INFO] [stderr] 92 | pub struct PerformanceTracker {
[INFO] [stderr]    |            ------------------ fields in this struct
[INFO] [stderr] 93 |     pub cpu_utilization: Vec<f64>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 94 |     pub memory_usage: Vec<u64>,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 95 |     pub hash_efficiency: f64,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PerformanceTracker` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `timestamp`, `hashrate`, `duration`, `cpu_temp`, and `memory_used` are never read
[INFO] [stderr]    --> src/miner.rs:103:9
[INFO] [stderr]     |
[INFO] [stderr] 102 | pub struct BenchmarkResult {
[INFO] [stderr]     |            --------------- fields in this struct
[INFO] [stderr] 103 |     pub timestamp: u64,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 104 |     pub hashrate: u64,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 105 |     pub duration: u64,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 106 |     pub cpu_temp: Option<f64>,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 107 |     pub memory_used: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `BenchmarkResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `performance_monitoring` is never read
[INFO] [stderr]    --> src/miner.rs:116:9
[INFO] [stderr]     |
[INFO] [stderr] 111 | pub struct AdaptiveSettings {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 116 |     pub performance_monitoring: bool,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AdaptiveSettings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `add_log`, `addr`, `is_mining`, `get_current_difficulty`, and `mine` are never used
[INFO] [stderr]    --> src/miner.rs:814:12
[INFO] [stderr]     |
[INFO] [stderr] 151 | impl MinerState {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 814 |     pub fn add_log(&mut self, _msg: &str) {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 826 |     pub fn addr(&self) -> &str {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 834 |     pub fn is_mining(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 838 |     pub fn get_current_difficulty(&self) -> Option<u32> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 851 |     pub fn mine(
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `advanced_benchmark_hashrate` is never used
[INFO] [stderr]    --> src/miner.rs:883:8
[INFO] [stderr]     |
[INFO] [stderr] 883 | pub fn advanced_benchmark_hashrate(seconds: u64, difficulty_bits: u32) -> (u64, f64) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DECIMALS` is never used
[INFO] [stderr]  --> src/state.rs:5:11
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub const DECIMALS: u32 = 8;
[INFO] [stderr]   |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MICRO` is never used
[INFO] [stderr]  --> src/state.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub const MICRO: u128 = 100_000_000; // 1.00000000
[INFO] [stderr]   |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AccountState` is never constructed
[INFO] [stderr]  --> src/state.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub struct AccountState {
[INFO] [stderr]   |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get`, `credit`, and `debit` are never used
[INFO] [stderr]   --> src/state.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl AccountState {
[INFO] [stderr]    | ----------------- methods in this implementation
[INFO] [stderr] 15 |     pub fn get(&self, a: &str) -> u128 { *self.balances.get(a).unwrap_or(&0) }
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 16 |     pub fn credit(&mut self, a: &str, v: u128) { *self.balances.entry(a.to_string()).or_default() += v; }
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 17 |     pub fn debit(&mut self, a: &str, v: u128) -> bool {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `mode_str` and `runtime` are never read
[INFO] [stderr]   --> src/ui.rs:63:5
[INFO] [stderr]    |
[INFO] [stderr] 62 | struct UICalculations {
[INFO] [stderr]    |        -------------- fields in this struct
[INFO] [stderr] 63 |     mode_str: String,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 69 |     runtime: u64,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `calculate_light_hash` is never used
[INFO] [stderr]    --> src/block.rs:277:12
[INFO] [stderr]     |
[INFO] [stderr]  24 | impl Block {
[INFO] [stderr]     | ---------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 277 |     pub fn calculate_light_hash(header: &BlockHeader) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `CheckpointMessage` is never used
[INFO] [stderr]    --> src/p2p.rs:145:10
[INFO] [stderr]     |
[INFO] [stderr] 145 | pub enum CheckpointMessage {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `chain`, `miner_state`, `message_cache`, and `node_services` are never read
[INFO] [stderr]    --> src/p2p.rs:358:9
[INFO] [stderr]     |
[INFO] [stderr] 357 | pub struct P2PState {
[INFO] [stderr]     |            -------- fields in this struct
[INFO] [stderr] 358 |     pub chain: Arc<Mutex<Blockchain>>,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 359 |     pub miner_state: Arc<Mutex<MinerState>>,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 362 |     pub message_cache: Arc<Mutex<MessageCache>>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 363 |     pub node_id: String,
[INFO] [stderr] 364 |     pub node_services: Vec<Service>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `P2PState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `last_message`, `message_count`, `failed_attempts`, and `bandwidth_usage` are never read
[INFO] [stderr]    --> src/p2p.rs:371:9
[INFO] [stderr]     |
[INFO] [stderr] 368 | pub struct PeerConnection {
[INFO] [stderr]     |            -------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 371 |     pub last_message: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 372 |     pub message_count: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 373 |     pub failed_attempts: u32,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 374 |     pub bandwidth_usage: BandwidthStats,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `PeerConnection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Connected`, `Disconnected`, and `Banned` are never constructed
[INFO] [stderr]    --> src/p2p.rs:379:5
[INFO] [stderr]     |
[INFO] [stderr] 378 | pub enum ConnectionState {
[INFO] [stderr]     |          --------------- variants in this enum
[INFO] [stderr] 379 |     Connected,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 380 |     Connecting,
[INFO] [stderr] 381 |     Disconnected,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 382 |     Banned,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ConnectionState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `bytes_sent`, `bytes_received`, `messages_sent`, `messages_received`, and `last_reset` are never read
[INFO] [stderr]    --> src/p2p.rs:387:9
[INFO] [stderr]     |
[INFO] [stderr] 386 | pub struct BandwidthStats {
[INFO] [stderr]     |            -------------- fields in this struct
[INFO] [stderr] 387 |     pub bytes_sent: u64,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 388 |     pub bytes_received: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 389 |     pub messages_sent: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 390 |     pub messages_received: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 391 |     pub last_reset: u64,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `BandwidthStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `suspicious_peers`, `blacklisted_peers`, `checkpoint_votes`, and `attack_detection` are never read
[INFO] [stderr]    --> src/p2p.rs:397:9
[INFO] [stderr]     |
[INFO] [stderr] 395 | pub struct NetworkSecurityMonitor {
[INFO] [stderr]     |            ---------------------- fields in this struct
[INFO] [stderr] 396 |     pub security_alerts: Vec<SecurityAlert>,
[INFO] [stderr] 397 |     pub suspicious_peers: HashSet<String>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 398 |     pub blacklisted_peers: HashSet<String>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 399 |     pub checkpoint_votes: HashMap<u64, CheckpointVoting>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 400 |     pub attack_detection: AttackDetection,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `NetworkSecurityMonitor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `alert_type`, `severity`, `description`, `reporter_id`, and `confirmed_by` are never read
[INFO] [stderr]    --> src/p2p.rs:405:9
[INFO] [stderr]     |
[INFO] [stderr] 404 | pub struct SecurityAlert {
[INFO] [stderr]     |            ------------- fields in this struct
[INFO] [stderr] 405 |     pub alert_type: SecurityAlertType,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 406 |     pub severity: AlertSeverity,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 407 |     pub description: String,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 408 |     pub reporter_id: String,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 409 |     pub timestamp: u64,
[INFO] [stderr] 410 |     pub confirmed_by: Vec<String>,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `SecurityAlert` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `height`, `proposed_hash`, `votes_for`, `votes_against`, and `proposal_timestamp` are never read
[INFO] [stderr]    --> src/p2p.rs:415:9
[INFO] [stderr]     |
[INFO] [stderr] 414 | pub struct CheckpointVoting {
[INFO] [stderr]     |            ---------------- fields in this struct
[INFO] [stderr] 415 |     pub height: u64,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 416 |     pub proposed_hash: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 417 |     pub votes_for: HashMap<String, String>,  // node_id -> signature
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 418 |     pub votes_against: HashMap<String, String>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 419 |     pub proposal_timestamp: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `CheckpointVoting` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `eclipse_detection`, `sybil_detection`, and `long_range_detection` are never read
[INFO] [stderr]    --> src/p2p.rs:424:9
[INFO] [stderr]     |
[INFO] [stderr] 423 | pub struct AttackDetection {
[INFO] [stderr]     |            --------------- fields in this struct
[INFO] [stderr] 424 |     pub eclipse_detection: EclipseDetection,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 425 |     pub sybil_detection: SybilDetection,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 426 |     pub long_range_detection: LongRangeDetection,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AttackDetection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `isolated_peers`, `last_new_peer`, and `peer_diversity_score` are never read
[INFO] [stderr]    --> src/p2p.rs:431:9
[INFO] [stderr]     |
[INFO] [stderr] 430 | pub struct EclipseDetection {
[INFO] [stderr]     |            ---------------- fields in this struct
[INFO] [stderr] 431 |     pub isolated_peers: HashSet<String>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 432 |     pub last_new_peer: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 433 |     pub peer_diversity_score: f64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `EclipseDetection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `similar_nodes`, `creation_time_clusters`, and `behavior_patterns` are never read
[INFO] [stderr]    --> src/p2p.rs:438:9
[INFO] [stderr]     |
[INFO] [stderr] 437 | pub struct SybilDetection {
[INFO] [stderr]     |            -------------- fields in this struct
[INFO] [stderr] 438 |     pub similar_nodes: HashMap<String, Vec<String>>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 439 |     pub creation_time_clusters: Vec<Vec<String>>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 440 |     pub behavior_patterns: HashMap<String, Vec<f64>>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `SybilDetection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `competing_chains` and `chain_divergence_points` are never read
[INFO] [stderr]    --> src/p2p.rs:445:9
[INFO] [stderr]     |
[INFO] [stderr] 444 | pub struct LongRangeDetection {
[INFO] [stderr]     |            ------------------ fields in this struct
[INFO] [stderr] 445 |     pub competing_chains: Vec<CompetingChain>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 446 |     pub chain_divergence_points: HashMap<u64, Vec<String>>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `LongRangeDetection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `chain_id`, `fork_point`, `chain_work`, `reporters`, and `first_seen` are never read
[INFO] [stderr]    --> src/p2p.rs:451:9
[INFO] [stderr]     |
[INFO] [stderr] 450 | pub struct CompetingChain {
[INFO] [stderr]     |            -------------- fields in this struct
[INFO] [stderr] 451 |     pub chain_id: String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 452 |     pub fork_point: u64,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 453 |     pub chain_work: u128,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 454 |     pub reporters: Vec<String>,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 455 |     pub first_seen: u64,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `CompetingChain` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `seen_messages`, `block_announcements`, `cleanup_interval`, and `last_cleanup` are never read
[INFO] [stderr]    --> src/p2p.rs:460:9
[INFO] [stderr]     |
[INFO] [stderr] 459 | pub struct MessageCache {
[INFO] [stderr]     |            ------------ fields in this struct
[INFO] [stderr] 460 |     pub seen_messages: HashMap<String, u64>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 461 |     pub block_announcements: HashMap<String, u64>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 462 |     pub cleanup_interval: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 463 |     pub last_cleanup: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `MessageCache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/p2p.rs:506:18
[INFO] [stderr]     |
[INFO] [stderr] 466 | impl P2PState {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 506 |     pub async fn handle_message(&self, message: P2PMessage, sender_addr: &str) -> Option<P2PMessage> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 574 |     async fn validate_message(&self, message: &P2PMessage, sender_addr: &str) -> bool {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 612 |     async fn is_duplicate_message(&self, message: &P2PMessage) -> bool {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 637 |     fn calculate_message_hash(&self, message: &P2PMessage) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 645 |     async fn handle_new_block(&self, block: Block, chainwork: u128, height: u64,
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 697 |     async fn handle_chain_request(&self, start_height: u64, max_blocks: usize, requester_id: String) -> Option<P2PMessage> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 718 |     async fn handle_chain_response(&self, blocks: Vec<Block>, total_chainwork: u128,
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 757 |     async fn handle_node_announcement(&self, node_id: String, _node_type: NodeType,
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 790 |     async fn handle_peer_request(&self, requester_id: String, max_peers: usize,
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 807 |     async fn handle_security_alert(&self, alert_type: SecurityAlertType, description: String,
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 841 |     async fn handle_checkpoint_proposal(&self, height: u64, hash: String,
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 882 |     async fn handle_checkpoint_vote(&self, height: u64, hash: String, vote: bool,
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 906 |     async fn handle_pong(&self, original_nonce: u64, sender_id: String,
[INFO] [stderr]     |              ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 925 |     async fn report_security_issue(&self, alert_type: SecurityAlertType,
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 940 |     async fn verify_block_security(&self, _block_height: u64) {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 945 |     async fn validate_security_alert(&self, _alert_type: &SecurityAlertType,
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 952 |     async fn increase_peer_reputation(&self, peer_id: &str, amount: f64) {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 962 |     async fn decrease_peer_reputation(&self, peer_id: &str, amount: f64) {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 991 |     pub fn get_network_stats(&self) -> NetworkStats {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `cleanup_old_messages` is never used
[INFO] [stderr]     --> src/p2p.rs:1039:12
[INFO] [stderr]      |
[INFO] [stderr] 1029 | impl MessageCache {
[INFO] [stderr]      | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 1039 |     pub fn cleanup_old_messages(&mut self, now: u64) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `check_similar_node` is never used
[INFO] [stderr]     --> src/p2p.rs:1048:12
[INFO] [stderr]      |
[INFO] [stderr] 1047 | impl SybilDetection {
[INFO] [stderr]      | ------------------- method in this implementation
[INFO] [stderr] 1048 |     pub fn check_similar_node(&mut self, node_id: &str, address: &str, timestamp: u64) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `save_headers` is never used
[INFO] [stderr]   --> src/storage.rs:28:8
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn save_headers<P: AsRef<Path>>(path: P, headers: &[BlockHeader]) -> std::io::Result<()> {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `load_headers` is never used
[INFO] [stderr]   --> src/storage.rs:41:8
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub fn load_headers<P: AsRef<Path>>(path: P) -> Option<Vec<BlockHeader>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `sign` and `verify` are never used
[INFO] [stderr]   --> src/wallet.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr]  9 | impl Wallet {
[INFO] [stderr]    | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub fn sign(&self, msg: &[u8]) -> Signature {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     pub fn verify(&self, msg: &[u8], sig: &Signature) -> bool {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AppState` is never constructed
[INFO] [stderr]  --> src/api.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct AppState {
[INFO] [stderr]   |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PowParams` is never constructed
[INFO] [stderr]   --> src/pow.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct PowParams {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `header_preimage` is never used
[INFO] [stderr]   --> src/pow.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn header_preimage(h: &BlockHeader) -> Vec<u8> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `pow_digest` is never used
[INFO] [stderr]   --> src/pow.rs:27:4
[INFO] [stderr]    |
[INFO] [stderr] 27 | fn pow_digest(preimage: &[u8], nonce: u64, params: &PowParams) -> [u8; 32] {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `meets_target` is never used
[INFO] [stderr]   --> src/pow.rs:49:8
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub fn meets_target(d: &[u8; 32], target_bits: u32) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `mine` is never used
[INFO] [stderr]   --> src/pow.rs:63:8
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub fn mine(mut header: BlockHeader, txs: &[Tx], params: &PowParams) -> Block {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `verify` is never used
[INFO] [stderr]   --> src/pow.rs:88:8
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub fn verify(block: &Block, params: &PowParams) -> bool {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `current_difficulty`, `average_block_time`, `median_block_time`, `network_hashrate`, and `blocks_in_window` are never read
[INFO] [stderr]    --> src/blockchain.rs:147:9
[INFO] [stderr]     |
[INFO] [stderr] 146 | pub struct NetworkStats {
[INFO] [stderr]     |            ------------ fields in this struct
[INFO] [stderr] 147 |     pub current_difficulty: u32,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 148 |     pub average_block_time: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 149 |     pub median_block_time: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 150 |     pub network_hashrate: f64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 151 |     pub blocks_in_window: usize,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `NetworkStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `display` is never used
[INFO] [stderr]    --> src/blockchain.rs:157:12
[INFO] [stderr]     |
[INFO] [stderr] 156 | impl NetworkStats {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] 157 |     pub fn display(&self) {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CheckpointStats` is never constructed
[INFO] [stderr]    --> src/blockchain.rs:169:12
[INFO] [stderr]     |
[INFO] [stderr] 169 | pub struct CheckpointStats {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `mainnet`, `testnet`, `localnet`, `create_genesis_block`, `calculate_network_genesis_hash`, and `print_network_info` are never used
[INFO] [stderr]    --> src/blockchain.rs:180:12
[INFO] [stderr]     |
[INFO] [stderr] 178 | impl NetworkConfig {
[INFO] [stderr]     | ------------------ associated items in this implementation
[INFO] [stderr] 179 |     // 메인넷 설정 - 완전한 Fair Launch
[INFO] [stderr] 180 |     pub fn mainnet() -> Self {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 210 |     pub fn testnet() -> Self {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 238 |     pub fn localnet() -> Self {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 278 |     pub fn create_genesis_block(&self) -> Block {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 316 |     fn calculate_network_genesis_hash(block: &Block, config: &NetworkConfig) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 338 |     pub fn print_network_info(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new_with_config`, `upgrade_to_network_checkpoints`, `replace_with_stronger_chain`, `validate_complete_chain`, `add_block`, and `get_difficulty_info` are never used
[INFO] [stderr]     --> src/blockchain.rs:627:12
[INFO] [stderr]      |
[INFO] [stderr]  599 | impl Blockchain {
[INFO] [stderr]      | --------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  627 |     pub fn new_with_config(config: NetworkConfig) -> Self {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  692 |     pub fn upgrade_to_network_checkpoints(&mut self) -> Result<(), String> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1090 |     pub fn replace_with_stronger_chain(&mut self, other: &Blockchain, path: &str) -> bool {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1121 |     fn validate_complete_chain(&self, chain: &Blockchain) -> bool {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1298 |     pub fn add_block(&mut self, miner: &str) -> &Block {
[INFO] [stderr]      |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1358 |     pub fn get_difficulty_info(&self) -> (u32, u64, f64) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `init_blockchain_for_network` is never used
[INFO] [stderr]     --> src/blockchain.rs:1388:8
[INFO] [stderr]      |
[INFO] [stderr] 1388 | pub fn init_blockchain_for_network(network_type: &str) -> (Blockchain, NetworkConfig) {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `payload`, `sign`, `verify`, and `id` are never used
[INFO] [stderr]   --> src/tx.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl Tx {
[INFO] [stderr]    | ------- associated items in this implementation
[INFO] [stderr] 18 |     pub fn new(from: String, to: String, amount: u64, note: String) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 29 |     fn payload(&self) -> Vec<u8> {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub fn sign(&mut self, wallet: &Wallet) {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 |     pub fn verify(&self, public: &PublicKey) -> bool {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 |     pub fn id(&self) -> String {
[INFO] [stderr]    |            ^^
[INFO] [stderr] 
[INFO] [stderr] warning: `corea-node` (bin "corea-node" test) generated 77 warnings (run `cargo fix --bin "corea-node" -p corea-node --tests` to apply 22 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/corea_node-35e664420d031d8b)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test p2p::tests::test_long_range_attack_detection ... ok
[INFO] [stdout] test p2p::tests::test_consensus_mechanism ... FAILED
[INFO] [stdout] test p2p::tests::test_checkpoint_proposal ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- p2p::tests::test_consensus_mechanism stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'p2p::tests::test_consensus_mechanism' (18) panicked at src/blockchain.rs:397:72:
[INFO] [stdout] byte index 16 is out of bounds of `consensus_hash`
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5a03427dae82 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5a03427dae82 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5a03427dae82 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5a03427dae82 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5a03427ef6ca - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5a03427ef6ca - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5a03427dfc86 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5a03427dfc86 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5a03427b961f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5a03427b961f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5a03427d3169 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5a03427669ee - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5a03427669ee - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5a03427d3322 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5a03427d3322 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5a03427b96d8 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5a03427ae959 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5a03427ba52d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5a03427efd9c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5a03427ef9cf - core[27de1724e4349be2]::str::slice_error_fail_rt
[INFO] [stdout]   20:     0x5a03427ef72a - core[27de1724e4349be2]::str::slice_error_fail
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/str/mod.rs:69:5
[INFO] [stdout]   21:     0x5a034279b79e - <core[27de1724e4349be2]::ops::range::RangeTo<usize> as core[27de1724e4349be2]::slice::index::SliceIndex<str>>::index
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/str/traits.rs:479:21
[INFO] [stdout]   22:     0x5a034279b955 - <alloc[a57f19327c0ad893]::string::String as core[27de1724e4349be2]::ops::index::Index<core[27de1724e4349be2]::ops::range::RangeTo<usize>>>::index
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/string.rs:2804:15
[INFO] [stdout]   23:     0x5a0342756354 - <corea_node[4526e046519e9b1a]::blockchain::NetworkCheckpointManager>::propose_checkpoint
[INFO] [stdout]                                at /opt/rustwide/workdir/src/blockchain.rs:397:72
[INFO] [stdout]   24:     0x5a03427593dd - corea_node[4526e046519e9b1a]::p2p::tests::test_consensus_mechanism
[INFO] [stdout]                                at /opt/rustwide/workdir/src/p2p.rs:197:17
[INFO] [stdout]   25:     0x5a0342758737 - corea_node[4526e046519e9b1a]::p2p::tests::test_consensus_mechanism::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/p2p.rs:191:34
[INFO] [stdout]   26:     0x5a0342754806 - <corea_node[4526e046519e9b1a]::p2p::tests::test_consensus_mechanism::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5a034275ad9b - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x5a034275ad9b - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   29:     0x5a03427675fa - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   30:     0x5a03427675fa - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   31:     0x5a03427675fa - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   32:     0x5a03427675fa - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   33:     0x5a03427675fa - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5a03427675fa - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   35:     0x5a03427675fa - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   36:     0x5a0342762ba4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   37:     0x5a0342762ba4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   38:     0x5a034276a0f2 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   39:     0x5a034276a0f2 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   40:     0x5a034276a0f2 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   41:     0x5a034276a0f2 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   42:     0x5a034276a0f2 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   43:     0x5a034276a0f2 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   44:     0x5a034276a0f2 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5a03427da72f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   46:     0x5a03427da72f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   47:     0x79a3241d1aa4 - <unknown>
[INFO] [stdout]   48:     0x79a32425ea64 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- p2p::tests::test_checkpoint_proposal stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'p2p::tests::test_checkpoint_proposal' (17) panicked at src/blockchain.rs:397:72:
[INFO] [stdout] byte index 16 is out of bounds of `test_hash`
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5a03427dae82 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5a03427dae82 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5a03427dae82 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5a03427dae82 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5a03427ef6ca - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5a03427ef6ca - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5a03427dfc86 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5a03427dfc86 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5a03427b961f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5a03427b961f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5a03427d3169 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5a03427669ee - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5a03427669ee - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5a03427d3322 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5a03427d3322 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5a03427b96d8 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5a03427ae959 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5a03427ba52d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5a03427efd9c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5a03427ef9cf - core[27de1724e4349be2]::str::slice_error_fail_rt
[INFO] [stdout]   20:     0x5a03427ef72a - core[27de1724e4349be2]::str::slice_error_fail
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/str/mod.rs:69:5
[INFO] [stdout]   21:     0x5a034279b79e - <core[27de1724e4349be2]::ops::range::RangeTo<usize> as core[27de1724e4349be2]::slice::index::SliceIndex<str>>::index
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/str/traits.rs:479:21
[INFO] [stdout]   22:     0x5a034279b955 - <alloc[a57f19327c0ad893]::string::String as core[27de1724e4349be2]::ops::index::Index<core[27de1724e4349be2]::ops::range::RangeTo<usize>>>::index
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/string.rs:2804:15
[INFO] [stdout]   23:     0x5a0342756354 - <corea_node[4526e046519e9b1a]::blockchain::NetworkCheckpointManager>::propose_checkpoint
[INFO] [stdout]                                at /opt/rustwide/workdir/src/blockchain.rs:397:72
[INFO] [stdout]   24:     0x5a03427591bb - corea_node[4526e046519e9b1a]::p2p::tests::test_checkpoint_proposal
[INFO] [stdout]                                at /opt/rustwide/workdir/src/p2p.rs:179:30
[INFO] [stdout]   25:     0x5a0342758707 - corea_node[4526e046519e9b1a]::p2p::tests::test_checkpoint_proposal::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/p2p.rs:176:34
[INFO] [stdout]   26:     0x5a03427547c6 - <corea_node[4526e046519e9b1a]::p2p::tests::test_checkpoint_proposal::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5a034275ad9b - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x5a034275ad9b - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   29:     0x5a03427675fa - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   30:     0x5a03427675fa - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   31:     0x5a03427675fa - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   32:     0x5a03427675fa - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   33:     0x5a03427675fa - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5a03427675fa - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   35:     0x5a03427675fa - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   36:     0x5a0342762ba4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   37:     0x5a0342762ba4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   38:     0x5a034276a0f2 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   39:     0x5a034276a0f2 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   40:     0x5a034276a0f2 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   41:     0x5a034276a0f2 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   42:     0x5a034276a0f2 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   43:     0x5a034276a0f2 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   44:     0x5a034276a0f2 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5a03427da72f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   46:     0x5a03427da72f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   47:     0x79a3241d1aa4 - <unknown>
[INFO] [stdout]   48:     0x79a32425ea64 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     p2p::tests::test_checkpoint_proposal
[INFO] [stdout]     p2p::tests::test_consensus_mechanism
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin corea-node`
[INFO] running `Command { std: "docker" "inspect" "a38969315815e8942922a869612c59d123e10edf68cb52a6e7696db3ed549480", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a38969315815e8942922a869612c59d123e10edf68cb52a6e7696db3ed549480", kill_on_drop: false }`
[INFO] [stdout] a38969315815e8942922a869612c59d123e10edf68cb52a6e7696db3ed549480
