[INFO] cloning repository https://github.com/Ka3ptnzurSee/kittycoin [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Ka3ptnzurSee/kittycoin" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKa3ptnzurSee%2Fkittycoin", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKa3ptnzurSee%2Fkittycoin'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3bccff5504085260b6a3b2f08fc0bc99daf8bbd7 [INFO] testing Ka3ptnzurSee/kittycoin against beta-2026-04-21 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKa3ptnzurSee%2Fkittycoin" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Ka3ptnzurSee/kittycoin [INFO] finished tweaking git repo https://github.com/Ka3ptnzurSee/kittycoin [INFO] tweaked toml for git repo https://github.com/Ka3ptnzurSee/kittycoin written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Ka3ptnzurSee/kittycoin on toolchain beta-2026-04-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Ka3ptnzurSee/kittycoin 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a76df1947b5b99a07262e7b3f2b43781faa03de878e96e4165551ce568416abe [INFO] running `Command { std: "docker" "start" "-a" "a76df1947b5b99a07262e7b3f2b43781faa03de878e96e4165551ce568416abe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a76df1947b5b99a07262e7b3f2b43781faa03de878e96e4165551ce568416abe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a76df1947b5b99a07262e7b3f2b43781faa03de878e96e4165551ce568416abe", kill_on_drop: false }` [INFO] [stdout] a76df1947b5b99a07262e7b3f2b43781faa03de878e96e4165551ce568416abe [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2473f3984fe9108f2e02d8d8d7e6382a09e0bfe2eacf1e539e70d70933ec434e [INFO] running `Command { std: "docker" "start" "-a" "2473f3984fe9108f2e02d8d8d7e6382a09e0bfe2eacf1e539e70d70933ec434e", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling nix v0.31.2 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling instant v0.1.13 [INFO] [stderr] Compiling pqcrypto-traits v0.3.5 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling keccak v0.1.6 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling base64ct v1.8.3 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling constant_time_eq v0.4.2 [INFO] [stderr] Compiling jiff v0.2.23 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling bs58 v0.5.1 [INFO] [stderr] Compiling bech32 v0.11.1 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling parking_lot_core v0.8.6 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling sled v0.34.7 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling password-hash v0.5.0 [INFO] [stderr] Compiling ctrlc v3.5.2 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling polyval v0.6.2 [INFO] [stderr] Compiling poly1305 v0.8.0 [INFO] [stderr] Compiling ghash v0.5.1 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling sha3 v0.10.8 [INFO] [stderr] Compiling pqcrypto-internals v0.2.11 [INFO] [stderr] Compiling blake3 v1.8.3 [INFO] [stderr] Compiling pqcrypto-dilithium v0.5.0 [INFO] [stderr] Compiling pqcrypto-kyber v0.8.1 [INFO] [stderr] Compiling pqcrypto-sphincsplus v0.7.2 [INFO] [stderr] Compiling argon2 v0.5.3 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling env_filter v1.0.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling env_logger v0.11.9 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling merlin v3.0.0 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling chacha20 v0.9.1 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling chacha20poly1305 v0.10.1 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling x25519-dalek v2.0.1 [INFO] [stderr] Compiling kittycoin-core v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `BlockHeader` and `Block` [INFO] [stdout] --> src/attacks.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::block::{Block, BlockHeader, INITIAL_BLOCK_REWARD, MAX_SUPPLY, TARGET_BLOCK_TIME}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConsensusEngine` and `SELFISH_MINING_WINDOW` [INFO] [stdout] --> src/attacks.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | ConsensusEngine, CHAIN_DNA, COINBASE_MATURITY, FINALITY_DEPTH, MAX_REORG_DEPTH, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | MAX_TIMESTAMP_RETREAT, SELFISH_MINING_MAX_RATIO, SELFISH_MINING_WINDOW, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HybridPublicKey` and `HybridSignature` [INFO] [stdout] --> src/attacks.rs:23:54 [INFO] [stdout] | [INFO] [stdout] 23 | use crate::crypto::{constant_time_eq, HybridKeypair, HybridPublicKey, HybridSignature}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ARGON2_ITERATIONS` and `ARGON2_PARALLELISM` [INFO] [stdout] --> src/attacks.rs:24:21 [INFO] [stdout] | [INFO] [stdout] 24 | use crate::mining::{ARGON2_ITERATIONS, ARGON2_MEMORY_COST, ARGON2_PARALLELISM, EPOCH_LENGTH}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KeyImageSet`, `PedersenCommitment`, `RingSignature`, `StealthAddress`, `create_range_proof`, and `verify_range_proof` [INFO] [stdout] --> src/attacks.rs:26:20 [INFO] [stdout] | [INFO] [stdout] 26 | commit_amount, create_range_proof, create_stealth_payment, verify_range_proof, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | KeyImageSet, PedersenCommitment, RingSignature, StealthAddress, StealthKeypair, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MAX_TX_OUTPUTS`, `TransactionType`, `Transaction`, `TxInput`, and `TxOutput` [INFO] [stdout] --> src/attacks.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | Transaction, TransactionType, TxInput, TxOutput, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] 32 | DUST_THRESHOLD, MAX_TX_DATA_SIZE, MAX_TX_INPUTS, MAX_TX_OUTPUTS, MAX_TX_WEIGHT, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Sha3_256` and `Sha3_512` [INFO] [stdout] --> src/attacks.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | use sha3::{Sha3_256, Sha3_512}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/attacks.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 38 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BlockHeader`, `Block`, and `MAX_SUPPLY` [INFO] [stdout] --> src/attacks_advanced.rs:27:20 [INFO] [stdout] | [INFO] [stdout] 27 | use crate::block::{Block, BlockHeader, INITIAL_BLOCK_REWARD, MAX_SUPPLY}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CHAIN_DNA`, `COINBASE_MATURITY`, `ConsensusEngine`, and `MAX_REORG_DEPTH` [INFO] [stdout] --> src/attacks_advanced.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | ConsensusEngine, CHAIN_DNA, COINBASE_MATURITY, FINALITY_DEPTH, MAX_REORG_DEPTH, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HybridKeypair` and `constant_time_eq` [INFO] [stdout] --> src/attacks_advanced.rs:31:21 [INFO] [stdout] | [INFO] [stdout] 31 | use crate::crypto::{constant_time_eq, HybridKeypair}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KeyImageSet`, `RingSignature`, and `StealthKeypair` [INFO] [stdout] --> src/attacks_advanced.rs:33:22 [INFO] [stdout] | [INFO] [stdout] 33 | use crate::privacy::{KeyImageSet, RingSignature, StealthKeypair}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DUST_THRESHOLD`, `MAX_TX_WEIGHT`, `Transaction`, `TxInput`, and `TxOutput` [INFO] [stdout] --> src/attacks_advanced.rs:34:26 [INFO] [stdout] | [INFO] [stdout] 34 | use crate::transaction::{Transaction, TxInput, TxOutput, DUST_THRESHOLD, MAX_TX_WEIGHT}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha3_256` [INFO] [stdout] --> src/attacks_advanced.rs:35:20 [INFO] [stdout] | [INFO] [stdout] 35 | use sha3::{Digest, Sha3_256}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap` and `VecDeque` [INFO] [stdout] --> src/attacks_advanced.rs:36:24 [INFO] [stdout] | [INFO] [stdout] 36 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/attacks_advanced.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `requires` [INFO] [stdout] --> src/consensus.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | macro_rules! requires { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `ensures` [INFO] [stdout] --> src/consensus.rs:85:14 [INFO] [stdout] | [INFO] [stdout] 85 | macro_rules! ensures { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `invariant` [INFO] [stdout] --> src/consensus.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | macro_rules! invariant { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `formally_unreachable` [INFO] [stdout] --> src/consensus.rs:107:14 [INFO] [stdout] | [INFO] [stdout] 107 | macro_rules! formally_unreachable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlockHeader` [INFO] [stdout] --> src/explorer.rs:13:27 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::block::{Block, BlockHeader, COIN, HALVING_INTERVAL, MAX_SUPPLY}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConsensusEngine` and `FINALITY_DEPTH` [INFO] [stdout] --> src/explorer.rs:14:24 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::consensus::{ConsensusEngine, FINALITY_DEPTH}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Transaction`, `TxInput`, and `TxOutput` [INFO] [stdout] --> src/explorer.rs:17:26 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::transaction::{Transaction, TxInput, TxOutput}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn` [INFO] [stdout] --> src/explorer.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | use log::{debug, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha3_256` [INFO] [stdout] --> src/explorer.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | use sha3::{Digest, Sha3_256}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/explorer.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::consensus::ConsensusEngine` [INFO] [stdout] --> src/pool.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::consensus::ConsensusEngine; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TxOutput` [INFO] [stdout] --> src/pool.rs:16:39 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::transaction::{Transaction, TxOutput}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/pool.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | use log::{debug, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::SocketAddr` [INFO] [stdout] --> src/pool.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use std::net::SocketAddr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/pool.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MempoolStats` [INFO] [stdout] --> src/rpc.rs:13:31 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::mempool::{Mempool, MempoolStats}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::network::NetworkNode` [INFO] [stdout] --> src/rpc.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::network::NetworkNode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/rpc.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | use log::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/rpc.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CHAIN_DNA`, `FINALITY_DEPTH`, and `MAX_REORG_DEPTH` [INFO] [stdout] --> src/spv.rs:14:24 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::consensus::{CHAIN_DNA, FINALITY_DEPTH, MAX_REORG_DEPTH}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mining::forthash` [INFO] [stdout] --> src/spv.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::mining::forthash; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::storage::UtxoMerkleProof` [INFO] [stdout] --> src/spv.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::storage::UtxoMerkleProof; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/spv.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | use log::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Digest` [INFO] [stdout] --> src/attacks_advanced.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | use sha3::{Digest, Sha3_256}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Digest` [INFO] [stdout] --> src/explorer.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | use sha3::{Digest, Sha3_256}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signature` [INFO] [stdout] --> src/attacks.rs:274:9 [INFO] [stdout] | [INFO] [stdout] 274 | let signature = keypair.sign(message); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signature` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `confirmations_needed` [INFO] [stdout] --> src/attacks.rs:586:9 [INFO] [stdout] | [INFO] [stdout] 586 | let confirmations_needed = ((1.0 - success_prob.log10().abs()) * 10.0) as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_confirmations_needed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gpu_vs_cpu_factor` [INFO] [stdout] --> src/attacks.rs:925:9 [INFO] [stdout] | [INFO] [stdout] 925 | let gpu_vs_cpu_factor = 10.0f64; // GPU is ~10x faster than CPU [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_vs_cpu_factor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uses_multiple_isps` [INFO] [stdout] --> src/attacks.rs:1353:9 [INFO] [stdout] | [INFO] [stdout] 1353 | let uses_multiple_isps = true; // Recommended for nodes [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uses_multiple_isps` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `has_finality` [INFO] [stdout] --> src/attacks.rs:1792:9 [INFO] [stdout] | [INFO] [stdout] 1792 | let has_finality = FINALITY_DEPTH >= 100; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_finality` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inv_rate_limit` [INFO] [stdout] --> src/attacks_advanced.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | let inv_rate_limit = 100; // per second [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inv_rate_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expiry_sec` [INFO] [stdout] --> src/attacks_advanced.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | let expiry_sec = 120; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expiry_sec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resend_cooldown_min` [INFO] [stdout] --> src/attacks_advanced.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | let resend_cooldown_min = 60; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resend_cooldown_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `per_ip_limit` [INFO] [stdout] --> src/attacks_advanced.rs:343:9 [INFO] [stdout] | [INFO] [stdout] 343 | let per_ip_limit = 1; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_per_ip_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `checked_arithmetic` [INFO] [stdout] --> src/attacks_advanced.rs:426:9 [INFO] [stdout] | [INFO] [stdout] 426 | let checked_arithmetic = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_checked_arithmetic` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `no_recursive_calls` [INFO] [stdout] --> src/attacks_advanced.rs:553:9 [INFO] [stdout] | [INFO] [stdout] 553 | let no_recursive_calls = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_recursive_calls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `module_rank` [INFO] [stdout] --> src/attacks_advanced.rs:692:9 [INFO] [stdout] | [INFO] [stdout] 692 | let module_rank = 6; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_module_rank` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hw_wallet_support` [INFO] [stdout] --> src/attacks_advanced.rs:764:9 [INFO] [stdout] | [INFO] [stdout] 764 | let hw_wallet_support = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hw_wallet_support` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `private_relay` [INFO] [stdout] --> src/attacks_advanced.rs:853:9 [INFO] [stdout] | [INFO] [stdout] 853 | let private_relay = true; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_private_relay` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pow_cost` [INFO] [stdout] --> src/attacks_advanced.rs:960:9 [INFO] [stdout] | [INFO] [stdout] 960 | let pow_cost = ARGON2_MEMORY_COST * ARGON2_ITERATIONS; // High [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pow_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reputation_matters` [INFO] [stdout] --> src/attacks_advanced.rs:962:9 [INFO] [stdout] | [INFO] [stdout] 962 | let reputation_matters = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reputation_matters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dandelion_broadcast` [INFO] [stdout] --> src/attacks_advanced.rs:1013:9 [INFO] [stdout] | [INFO] [stdout] 1013 | let dandelion_broadcast = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dandelion_broadcast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `churning_supported` [INFO] [stdout] --> src/attacks_advanced.rs:1058:9 [INFO] [stdout] | [INFO] [stdout] 1058 | let churning_supported = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_churning_supported` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exchange_exclusion` [INFO] [stdout] --> src/attacks_advanced.rs:1138:9 [INFO] [stdout] | [INFO] [stdout] 1138 | let exchange_exclusion = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exchange_exclusion` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_uniqueness` [INFO] [stdout] --> src/attacks_advanced.rs:1139:9 [INFO] [stdout] | [INFO] [stdout] 1139 | let output_uniqueness = true; // Can't create identical outputs cheaply [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_uniqueness` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dependency_scanning` [INFO] [stdout] --> src/attacks_advanced.rs:1223:9 [INFO] [stdout] | [INFO] [stdout] 1223 | let dependency_scanning = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dependency_scanning` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `build_instructions` [INFO] [stdout] --> src/attacks_advanced.rs:1260:9 [INFO] [stdout] | [INFO] [stdout] 1260 | let build_instructions = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_build_instructions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hash_published` [INFO] [stdout] --> src/attacks_advanced.rs:1261:9 [INFO] [stdout] | [INFO] [stdout] 1261 | let hash_published = true; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_published` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stats` [INFO] [stdout] --> src/explorer.rs:366:13 [INFO] [stdout] | [INFO] [stdout] 366 | let stats = mempool.stats(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chain` [INFO] [stdout] --> src/pool.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 294 | chain: &ChainState, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `peer` [INFO] [stdout] --> src/rpc.rs:120:22 [INFO] [stdout] | [INFO] [stdout] 120 | let (stream, peer) = listener.accept().await?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_peer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/rpc.rs:548:42 [INFO] [stdout] | [INFO] [stdout] 548 | async fn rpc_get_network_info(id: Value, state: &RpcState) -> RpcResponse { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `datadir` [INFO] [stdout] --> src/main.rs:630:57 [INFO] [stdout] | [INFO] [stdout] 630 | fn cmd_wallet(action: WalletCommands, network: Network, datadir: &str) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datadir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MempoolTx` is never constructed [INFO] [stdout] --> src/attacks_advanced.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | struct MempoolTx { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/pool.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 156 | struct PplnsShare { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 157 | address: String, [INFO] [stdout] 158 | timestamp: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PplnsShare` 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: constant `INVALID_REQUEST` is never used [INFO] [stdout] --> src/rpc.rs:97:7 [INFO] [stdout] | [INFO] [stdout] 97 | const INVALID_REQUEST: i32 = -32600; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 45s [INFO] running `Command { std: "docker" "inspect" "2473f3984fe9108f2e02d8d8d7e6382a09e0bfe2eacf1e539e70d70933ec434e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2473f3984fe9108f2e02d8d8d7e6382a09e0bfe2eacf1e539e70d70933ec434e", kill_on_drop: false }` [INFO] [stdout] 2473f3984fe9108f2e02d8d8d7e6382a09e0bfe2eacf1e539e70d70933ec434e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2dfe217b8b924388d102c0ee31f51573ff2fff5b4b1d68edcdf972fa4e40b34c [INFO] running `Command { std: "docker" "start" "-a" "2dfe217b8b924388d102c0ee31f51573ff2fff5b4b1d68edcdf972fa4e40b34c", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling nix v0.31.2 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling ctrlc v3.5.2 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling env_filter v1.0.0 [INFO] [stderr] Compiling env_logger v0.11.9 [INFO] [stderr] Compiling kittycoin-core v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `BlockHeader` and `Block` [INFO] [stdout] --> src/attacks.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::block::{Block, BlockHeader, INITIAL_BLOCK_REWARD, MAX_SUPPLY, TARGET_BLOCK_TIME}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConsensusEngine` and `SELFISH_MINING_WINDOW` [INFO] [stdout] --> src/attacks.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | ConsensusEngine, CHAIN_DNA, COINBASE_MATURITY, FINALITY_DEPTH, MAX_REORG_DEPTH, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | MAX_TIMESTAMP_RETREAT, SELFISH_MINING_MAX_RATIO, SELFISH_MINING_WINDOW, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HybridPublicKey` and `HybridSignature` [INFO] [stdout] --> src/attacks.rs:23:54 [INFO] [stdout] | [INFO] [stdout] 23 | use crate::crypto::{constant_time_eq, HybridKeypair, HybridPublicKey, HybridSignature}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ARGON2_ITERATIONS` and `ARGON2_PARALLELISM` [INFO] [stdout] --> src/attacks.rs:24:21 [INFO] [stdout] | [INFO] [stdout] 24 | use crate::mining::{ARGON2_ITERATIONS, ARGON2_MEMORY_COST, ARGON2_PARALLELISM, EPOCH_LENGTH}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KeyImageSet`, `PedersenCommitment`, `RingSignature`, `StealthAddress`, `create_range_proof`, and `verify_range_proof` [INFO] [stdout] --> src/attacks.rs:26:20 [INFO] [stdout] | [INFO] [stdout] 26 | commit_amount, create_range_proof, create_stealth_payment, verify_range_proof, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | KeyImageSet, PedersenCommitment, RingSignature, StealthAddress, StealthKeypair, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MAX_TX_OUTPUTS`, `TransactionType`, `Transaction`, `TxInput`, and `TxOutput` [INFO] [stdout] --> src/attacks.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | Transaction, TransactionType, TxInput, TxOutput, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] 32 | DUST_THRESHOLD, MAX_TX_DATA_SIZE, MAX_TX_INPUTS, MAX_TX_OUTPUTS, MAX_TX_WEIGHT, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Sha3_256` and `Sha3_512` [INFO] [stdout] --> src/attacks.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | use sha3::{Sha3_256, Sha3_512}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/attacks.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 38 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BlockHeader`, `Block`, and `MAX_SUPPLY` [INFO] [stdout] --> src/attacks_advanced.rs:27:20 [INFO] [stdout] | [INFO] [stdout] 27 | use crate::block::{Block, BlockHeader, INITIAL_BLOCK_REWARD, MAX_SUPPLY}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CHAIN_DNA`, `COINBASE_MATURITY`, `ConsensusEngine`, and `MAX_REORG_DEPTH` [INFO] [stdout] --> src/attacks_advanced.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | ConsensusEngine, CHAIN_DNA, COINBASE_MATURITY, FINALITY_DEPTH, MAX_REORG_DEPTH, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HybridKeypair` and `constant_time_eq` [INFO] [stdout] --> src/attacks_advanced.rs:31:21 [INFO] [stdout] | [INFO] [stdout] 31 | use crate::crypto::{constant_time_eq, HybridKeypair}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KeyImageSet`, `RingSignature`, and `StealthKeypair` [INFO] [stdout] --> src/attacks_advanced.rs:33:22 [INFO] [stdout] | [INFO] [stdout] 33 | use crate::privacy::{KeyImageSet, RingSignature, StealthKeypair}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DUST_THRESHOLD`, `MAX_TX_WEIGHT`, `Transaction`, `TxInput`, and `TxOutput` [INFO] [stdout] --> src/attacks_advanced.rs:34:26 [INFO] [stdout] | [INFO] [stdout] 34 | use crate::transaction::{Transaction, TxInput, TxOutput, DUST_THRESHOLD, MAX_TX_WEIGHT}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha3_256` [INFO] [stdout] --> src/attacks_advanced.rs:35:20 [INFO] [stdout] | [INFO] [stdout] 35 | use sha3::{Digest, Sha3_256}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap` and `VecDeque` [INFO] [stdout] --> src/attacks_advanced.rs:36:24 [INFO] [stdout] | [INFO] [stdout] 36 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/attacks_advanced.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `requires` [INFO] [stdout] --> src/consensus.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | macro_rules! requires { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `ensures` [INFO] [stdout] --> src/consensus.rs:85:14 [INFO] [stdout] | [INFO] [stdout] 85 | macro_rules! ensures { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `invariant` [INFO] [stdout] --> src/consensus.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | macro_rules! invariant { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `formally_unreachable` [INFO] [stdout] --> src/consensus.rs:107:14 [INFO] [stdout] | [INFO] [stdout] 107 | macro_rules! formally_unreachable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlockHeader` [INFO] [stdout] --> src/explorer.rs:13:27 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::block::{Block, BlockHeader, COIN, HALVING_INTERVAL, MAX_SUPPLY}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConsensusEngine` and `FINALITY_DEPTH` [INFO] [stdout] --> src/explorer.rs:14:24 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::consensus::{ConsensusEngine, FINALITY_DEPTH}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Transaction`, `TxInput`, and `TxOutput` [INFO] [stdout] --> src/explorer.rs:17:26 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::transaction::{Transaction, TxInput, TxOutput}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn` [INFO] [stdout] --> src/explorer.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | use log::{debug, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha3_256` [INFO] [stdout] --> src/explorer.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | use sha3::{Digest, Sha3_256}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/explorer.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::consensus::ConsensusEngine` [INFO] [stdout] --> src/pool.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::consensus::ConsensusEngine; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TxOutput` [INFO] [stdout] --> src/pool.rs:16:39 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::transaction::{Transaction, TxOutput}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/pool.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | use log::{debug, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::SocketAddr` [INFO] [stdout] --> src/pool.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use std::net::SocketAddr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/pool.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MempoolStats` [INFO] [stdout] --> src/rpc.rs:13:31 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::mempool::{Mempool, MempoolStats}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::network::NetworkNode` [INFO] [stdout] --> src/rpc.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::network::NetworkNode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/rpc.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | use log::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/rpc.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CHAIN_DNA`, `FINALITY_DEPTH`, and `MAX_REORG_DEPTH` [INFO] [stdout] --> src/spv.rs:14:24 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::consensus::{CHAIN_DNA, FINALITY_DEPTH, MAX_REORG_DEPTH}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mining::forthash` [INFO] [stdout] --> src/spv.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::mining::forthash; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::storage::UtxoMerkleProof` [INFO] [stdout] --> src/spv.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::storage::UtxoMerkleProof; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/spv.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | use log::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StealthKeypair` [INFO] [stdout] --> src/wallet.rs:791:54 [INFO] [stdout] | [INFO] [stdout] 791 | use crate::privacy::{create_stealth_payment, StealthKeypair}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Digest` [INFO] [stdout] --> src/attacks_advanced.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | use sha3::{Digest, Sha3_256}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Digest` [INFO] [stdout] --> src/explorer.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | use sha3::{Digest, Sha3_256}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signature` [INFO] [stdout] --> src/attacks.rs:274:9 [INFO] [stdout] | [INFO] [stdout] 274 | let signature = keypair.sign(message); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signature` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `confirmations_needed` [INFO] [stdout] --> src/attacks.rs:586:9 [INFO] [stdout] | [INFO] [stdout] 586 | let confirmations_needed = ((1.0 - success_prob.log10().abs()) * 10.0) as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_confirmations_needed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gpu_vs_cpu_factor` [INFO] [stdout] --> src/attacks.rs:925:9 [INFO] [stdout] | [INFO] [stdout] 925 | let gpu_vs_cpu_factor = 10.0f64; // GPU is ~10x faster than CPU [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_vs_cpu_factor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uses_multiple_isps` [INFO] [stdout] --> src/attacks.rs:1353:9 [INFO] [stdout] | [INFO] [stdout] 1353 | let uses_multiple_isps = true; // Recommended for nodes [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uses_multiple_isps` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `has_finality` [INFO] [stdout] --> src/attacks.rs:1792:9 [INFO] [stdout] | [INFO] [stdout] 1792 | let has_finality = FINALITY_DEPTH >= 100; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_finality` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inv_rate_limit` [INFO] [stdout] --> src/attacks_advanced.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | let inv_rate_limit = 100; // per second [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inv_rate_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expiry_sec` [INFO] [stdout] --> src/attacks_advanced.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | let expiry_sec = 120; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expiry_sec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resend_cooldown_min` [INFO] [stdout] --> src/attacks_advanced.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | let resend_cooldown_min = 60; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resend_cooldown_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `per_ip_limit` [INFO] [stdout] --> src/attacks_advanced.rs:343:9 [INFO] [stdout] | [INFO] [stdout] 343 | let per_ip_limit = 1; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_per_ip_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `checked_arithmetic` [INFO] [stdout] --> src/attacks_advanced.rs:426:9 [INFO] [stdout] | [INFO] [stdout] 426 | let checked_arithmetic = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_checked_arithmetic` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `no_recursive_calls` [INFO] [stdout] --> src/attacks_advanced.rs:553:9 [INFO] [stdout] | [INFO] [stdout] 553 | let no_recursive_calls = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_recursive_calls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `module_rank` [INFO] [stdout] --> src/attacks_advanced.rs:692:9 [INFO] [stdout] | [INFO] [stdout] 692 | let module_rank = 6; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_module_rank` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hw_wallet_support` [INFO] [stdout] --> src/attacks_advanced.rs:764:9 [INFO] [stdout] | [INFO] [stdout] 764 | let hw_wallet_support = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hw_wallet_support` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `private_relay` [INFO] [stdout] --> src/attacks_advanced.rs:853:9 [INFO] [stdout] | [INFO] [stdout] 853 | let private_relay = true; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_private_relay` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pow_cost` [INFO] [stdout] --> src/attacks_advanced.rs:960:9 [INFO] [stdout] | [INFO] [stdout] 960 | let pow_cost = ARGON2_MEMORY_COST * ARGON2_ITERATIONS; // High [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pow_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reputation_matters` [INFO] [stdout] --> src/attacks_advanced.rs:962:9 [INFO] [stdout] | [INFO] [stdout] 962 | let reputation_matters = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reputation_matters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dandelion_broadcast` [INFO] [stdout] --> src/attacks_advanced.rs:1013:9 [INFO] [stdout] | [INFO] [stdout] 1013 | let dandelion_broadcast = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dandelion_broadcast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `churning_supported` [INFO] [stdout] --> src/attacks_advanced.rs:1058:9 [INFO] [stdout] | [INFO] [stdout] 1058 | let churning_supported = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_churning_supported` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exchange_exclusion` [INFO] [stdout] --> src/attacks_advanced.rs:1138:9 [INFO] [stdout] | [INFO] [stdout] 1138 | let exchange_exclusion = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exchange_exclusion` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_uniqueness` [INFO] [stdout] --> src/attacks_advanced.rs:1139:9 [INFO] [stdout] | [INFO] [stdout] 1139 | let output_uniqueness = true; // Can't create identical outputs cheaply [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_uniqueness` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dependency_scanning` [INFO] [stdout] --> src/attacks_advanced.rs:1223:9 [INFO] [stdout] | [INFO] [stdout] 1223 | let dependency_scanning = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dependency_scanning` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `build_instructions` [INFO] [stdout] --> src/attacks_advanced.rs:1260:9 [INFO] [stdout] | [INFO] [stdout] 1260 | let build_instructions = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_build_instructions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hash_published` [INFO] [stdout] --> src/attacks_advanced.rs:1261:9 [INFO] [stdout] | [INFO] [stdout] 1261 | let hash_published = true; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_published` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stats` [INFO] [stdout] --> src/explorer.rs:366:13 [INFO] [stdout] | [INFO] [stdout] 366 | let stats = mempool.stats(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chain` [INFO] [stdout] --> src/pool.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 294 | chain: &ChainState, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `peer` [INFO] [stdout] --> src/rpc.rs:120:22 [INFO] [stdout] | [INFO] [stdout] 120 | let (stream, peer) = listener.accept().await?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_peer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/rpc.rs:548:42 [INFO] [stdout] | [INFO] [stdout] 548 | async fn rpc_get_network_info(id: Value, state: &RpcState) -> RpcResponse { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `datadir` [INFO] [stdout] --> src/main.rs:630:57 [INFO] [stdout] | [INFO] [stdout] 630 | fn cmd_wallet(action: WalletCommands, network: Network, datadir: &str) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datadir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MempoolTx` is never constructed [INFO] [stdout] --> src/attacks_advanced.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | struct MempoolTx { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/pool.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 156 | struct PplnsShare { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 157 | address: String, [INFO] [stdout] 158 | timestamp: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PplnsShare` 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: constant `INVALID_REQUEST` is never used [INFO] [stdout] --> src/rpc.rs:97:7 [INFO] [stdout] | [INFO] [stdout] 97 | const INVALID_REQUEST: i32 = -32600; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 26.10s [INFO] running `Command { std: "docker" "inspect" "2dfe217b8b924388d102c0ee31f51573ff2fff5b4b1d68edcdf972fa4e40b34c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2dfe217b8b924388d102c0ee31f51573ff2fff5b4b1d68edcdf972fa4e40b34c", kill_on_drop: false }` [INFO] [stdout] 2dfe217b8b924388d102c0ee31f51573ff2fff5b4b1d68edcdf972fa4e40b34c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f6ce145011d89bba9d12aaa31f91c515f4d35620eb011d4f710a79b0ecacd128 [INFO] running `Command { std: "docker" "start" "-a" "f6ce145011d89bba9d12aaa31f91c515f4d35620eb011d4f710a79b0ecacd128", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `BlockHeader` and `Block` [INFO] [stderr] --> src/attacks.rs:18:20 [INFO] [stderr] | [INFO] [stderr] 18 | use crate::block::{Block, BlockHeader, INITIAL_BLOCK_REWARD, MAX_SUPPLY, TARGET_BLOCK_TIME}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ConsensusEngine` and `SELFISH_MINING_WINDOW` [INFO] [stderr] --> src/attacks.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | ConsensusEngine, CHAIN_DNA, COINBASE_MATURITY, FINALITY_DEPTH, MAX_REORG_DEPTH, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 21 | MAX_TIMESTAMP_RETREAT, SELFISH_MINING_MAX_RATIO, SELFISH_MINING_WINDOW, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HybridPublicKey` and `HybridSignature` [INFO] [stderr] --> src/attacks.rs:23:54 [INFO] [stderr] | [INFO] [stderr] 23 | use crate::crypto::{constant_time_eq, HybridKeypair, HybridPublicKey, HybridSignature}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ARGON2_ITERATIONS` and `ARGON2_PARALLELISM` [INFO] [stderr] --> src/attacks.rs:24:21 [INFO] [stderr] | [INFO] [stderr] 24 | use crate::mining::{ARGON2_ITERATIONS, ARGON2_MEMORY_COST, ARGON2_PARALLELISM, EPOCH_LENGTH}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `KeyImageSet`, `PedersenCommitment`, `RingSignature`, `StealthAddress`, `create_range_proof`, and `verify_range_proof` [INFO] [stderr] --> src/attacks.rs:26:20 [INFO] [stderr] | [INFO] [stderr] 26 | commit_amount, create_range_proof, create_stealth_payment, verify_range_proof, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 27 | KeyImageSet, PedersenCommitment, RingSignature, StealthAddress, StealthKeypair, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MAX_TX_OUTPUTS`, `TransactionType`, `Transaction`, `TxInput`, and `TxOutput` [INFO] [stderr] --> src/attacks.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | Transaction, TransactionType, TxInput, TxOutput, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stderr] 32 | DUST_THRESHOLD, MAX_TX_DATA_SIZE, MAX_TX_INPUTS, MAX_TX_OUTPUTS, MAX_TX_WEIGHT, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Sha3_256` and `Sha3_512` [INFO] [stderr] --> src/attacks.rs:37:12 [INFO] [stderr] | [INFO] [stderr] 37 | use sha3::{Sha3_256, Sha3_512}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashMap` [INFO] [stderr] --> src/attacks.rs:38:24 [INFO] [stderr] | [INFO] [stderr] 38 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BlockHeader`, `Block`, and `MAX_SUPPLY` [INFO] [stderr] --> src/attacks_advanced.rs:27:20 [INFO] [stderr] | [INFO] [stderr] 27 | use crate::block::{Block, BlockHeader, INITIAL_BLOCK_REWARD, MAX_SUPPLY}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CHAIN_DNA`, `COINBASE_MATURITY`, `ConsensusEngine`, and `MAX_REORG_DEPTH` [INFO] [stderr] --> src/attacks_advanced.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | ConsensusEngine, CHAIN_DNA, COINBASE_MATURITY, FINALITY_DEPTH, MAX_REORG_DEPTH, [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HybridKeypair` and `constant_time_eq` [INFO] [stderr] --> src/attacks_advanced.rs:31:21 [INFO] [stderr] | [INFO] [stderr] 31 | use crate::crypto::{constant_time_eq, HybridKeypair}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `KeyImageSet`, `RingSignature`, and `StealthKeypair` [INFO] [stderr] --> src/attacks_advanced.rs:33:22 [INFO] [stderr] | [INFO] [stderr] 33 | use crate::privacy::{KeyImageSet, RingSignature, StealthKeypair}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DUST_THRESHOLD`, `MAX_TX_WEIGHT`, `Transaction`, `TxInput`, and `TxOutput` [INFO] [stderr] --> src/attacks_advanced.rs:34:26 [INFO] [stderr] | [INFO] [stderr] 34 | use crate::transaction::{Transaction, TxInput, TxOutput, DUST_THRESHOLD, MAX_TX_WEIGHT}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Sha3_256` [INFO] [stderr] --> src/attacks_advanced.rs:35:20 [INFO] [stderr] | [INFO] [stderr] 35 | use sha3::{Digest, Sha3_256}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HashMap` and `VecDeque` [INFO] [stderr] --> src/attacks_advanced.rs:36:24 [INFO] [stderr] | [INFO] [stderr] 36 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Duration` [INFO] [stderr] --> src/attacks_advanced.rs:37:17 [INFO] [stderr] | [INFO] [stderr] 37 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition: `requires` [INFO] [stderr] --> src/consensus.rs:68:14 [INFO] [stderr] | [INFO] [stderr] 68 | macro_rules! requires { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition: `ensures` [INFO] [stderr] --> src/consensus.rs:85:14 [INFO] [stderr] | [INFO] [stderr] 85 | macro_rules! ensures { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition: `invariant` [INFO] [stderr] --> src/consensus.rs:99:14 [INFO] [stderr] | [INFO] [stderr] 99 | macro_rules! invariant { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition: `formally_unreachable` [INFO] [stderr] --> src/consensus.rs:107:14 [INFO] [stderr] | [INFO] [stderr] 107 | macro_rules! formally_unreachable { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BlockHeader` [INFO] [stderr] --> src/explorer.rs:13:27 [INFO] [stderr] | [INFO] [stderr] 13 | use crate::block::{Block, BlockHeader, COIN, HALVING_INTERVAL, MAX_SUPPLY}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ConsensusEngine` and `FINALITY_DEPTH` [INFO] [stderr] --> src/explorer.rs:14:24 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::consensus::{ConsensusEngine, FINALITY_DEPTH}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Transaction`, `TxInput`, and `TxOutput` [INFO] [stderr] --> src/explorer.rs:17:26 [INFO] [stderr] | [INFO] [stderr] 17 | use crate::transaction::{Transaction, TxInput, TxOutput}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `debug`, `info`, and `warn` [INFO] [stderr] --> src/explorer.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | use log::{debug, info, warn}; [INFO] [stderr] | ^^^^^ ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Sha3_256` [INFO] [stderr] --> src/explorer.rs:20:20 [INFO] [stderr] | [INFO] [stderr] 20 | use sha3::{Digest, Sha3_256}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/explorer.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::consensus::ConsensusEngine` [INFO] [stderr] --> src/pool.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use crate::consensus::ConsensusEngine; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TxOutput` [INFO] [stderr] --> src/pool.rs:16:39 [INFO] [stderr] | [INFO] [stderr] 16 | use crate::transaction::{Transaction, TxOutput}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `debug` [INFO] [stderr] --> src/pool.rs:17:11 [INFO] [stderr] | [INFO] [stderr] 17 | use log::{debug, info, warn}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::SocketAddr` [INFO] [stderr] --> src/pool.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | use std::net::SocketAddr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/pool.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `MempoolStats` [INFO] [stderr] --> src/rpc.rs:13:31 [INFO] [stderr] | [INFO] [stderr] 13 | use crate::mempool::{Mempool, MempoolStats}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::network::NetworkNode` [INFO] [stderr] --> src/rpc.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use crate::network::NetworkNode; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `warn` [INFO] [stderr] --> src/rpc.rs:18:17 [INFO] [stderr] | [INFO] [stderr] 18 | use log::{info, warn}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/rpc.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CHAIN_DNA`, `FINALITY_DEPTH`, and `MAX_REORG_DEPTH` [INFO] [stderr] --> src/spv.rs:14:24 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::consensus::{CHAIN_DNA, FINALITY_DEPTH, MAX_REORG_DEPTH}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::mining::forthash` [INFO] [stderr] --> src/spv.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use crate::mining::forthash; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::storage::UtxoMerkleProof` [INFO] [stderr] --> src/spv.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use crate::storage::UtxoMerkleProof; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `info` [INFO] [stderr] --> src/spv.rs:17:11 [INFO] [stderr] | [INFO] [stderr] 17 | use log::{info, warn}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `StealthKeypair` [INFO] [stderr] --> src/wallet.rs:791:54 [INFO] [stderr] | [INFO] [stderr] 791 | use crate::privacy::{create_stealth_payment, StealthKeypair}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Digest` [INFO] [stderr] --> src/attacks_advanced.rs:35:12 [INFO] [stderr] | [INFO] [stderr] 35 | use sha3::{Digest, Sha3_256}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Digest` [INFO] [stderr] --> src/explorer.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | use sha3::{Digest, Sha3_256}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `signature` [INFO] [stderr] --> src/attacks.rs:274:9 [INFO] [stderr] | [INFO] [stderr] 274 | let signature = keypair.sign(message); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signature` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `confirmations_needed` [INFO] [stderr] --> src/attacks.rs:586:9 [INFO] [stderr] | [INFO] [stderr] 586 | let confirmations_needed = ((1.0 - success_prob.log10().abs()) * 10.0) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_confirmations_needed` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `gpu_vs_cpu_factor` [INFO] [stderr] --> src/attacks.rs:925:9 [INFO] [stderr] | [INFO] [stderr] 925 | let gpu_vs_cpu_factor = 10.0f64; // GPU is ~10x faster than CPU [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_vs_cpu_factor` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `uses_multiple_isps` [INFO] [stderr] --> src/attacks.rs:1353:9 [INFO] [stderr] | [INFO] [stderr] 1353 | let uses_multiple_isps = true; // Recommended for nodes [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uses_multiple_isps` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `has_finality` [INFO] [stderr] --> src/attacks.rs:1792:9 [INFO] [stderr] | [INFO] [stderr] 1792 | let has_finality = FINALITY_DEPTH >= 100; [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_finality` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `inv_rate_limit` [INFO] [stderr] --> src/attacks_advanced.rs:219:9 [INFO] [stderr] | [INFO] [stderr] 219 | let inv_rate_limit = 100; // per second [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inv_rate_limit` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `expiry_sec` [INFO] [stderr] --> src/attacks_advanced.rs:220:9 [INFO] [stderr] | [INFO] [stderr] 220 | let expiry_sec = 120; [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expiry_sec` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `resend_cooldown_min` [INFO] [stderr] --> src/attacks_advanced.rs:258:9 [INFO] [stderr] | [INFO] [stderr] 258 | let resend_cooldown_min = 60; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resend_cooldown_min` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `per_ip_limit` [INFO] [stderr] --> src/attacks_advanced.rs:343:9 [INFO] [stderr] | [INFO] [stderr] 343 | let per_ip_limit = 1; [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_per_ip_limit` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `checked_arithmetic` [INFO] [stderr] --> src/attacks_advanced.rs:426:9 [INFO] [stderr] | [INFO] [stderr] 426 | let checked_arithmetic = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_checked_arithmetic` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `no_recursive_calls` [INFO] [stderr] --> src/attacks_advanced.rs:553:9 [INFO] [stderr] | [INFO] [stderr] 553 | let no_recursive_calls = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_recursive_calls` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `module_rank` [INFO] [stderr] --> src/attacks_advanced.rs:692:9 [INFO] [stderr] | [INFO] [stderr] 692 | let module_rank = 6; [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_module_rank` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hw_wallet_support` [INFO] [stderr] --> src/attacks_advanced.rs:764:9 [INFO] [stderr] | [INFO] [stderr] 764 | let hw_wallet_support = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hw_wallet_support` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `private_relay` [INFO] [stderr] --> src/attacks_advanced.rs:853:9 [INFO] [stderr] | [INFO] [stderr] 853 | let private_relay = true; [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_private_relay` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pow_cost` [INFO] [stderr] --> src/attacks_advanced.rs:960:9 [INFO] [stderr] | [INFO] [stderr] 960 | let pow_cost = ARGON2_MEMORY_COST * ARGON2_ITERATIONS; // High [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pow_cost` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `reputation_matters` [INFO] [stderr] --> src/attacks_advanced.rs:962:9 [INFO] [stderr] | [INFO] [stderr] 962 | let reputation_matters = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reputation_matters` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dandelion_broadcast` [INFO] [stderr] --> src/attacks_advanced.rs:1013:9 [INFO] [stderr] | [INFO] [stderr] 1013 | let dandelion_broadcast = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dandelion_broadcast` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `churning_supported` [INFO] [stderr] --> src/attacks_advanced.rs:1058:9 [INFO] [stderr] | [INFO] [stderr] 1058 | let churning_supported = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_churning_supported` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `exchange_exclusion` [INFO] [stderr] --> src/attacks_advanced.rs:1138:9 [INFO] [stderr] | [INFO] [stderr] 1138 | let exchange_exclusion = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exchange_exclusion` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_uniqueness` [INFO] [stderr] --> src/attacks_advanced.rs:1139:9 [INFO] [stderr] | [INFO] [stderr] 1139 | let output_uniqueness = true; // Can't create identical outputs cheaply [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_uniqueness` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dependency_scanning` [INFO] [stderr] --> src/attacks_advanced.rs:1223:9 [INFO] [stderr] | [INFO] [stderr] 1223 | let dependency_scanning = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dependency_scanning` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `build_instructions` [INFO] [stderr] --> src/attacks_advanced.rs:1260:9 [INFO] [stderr] | [INFO] [stderr] 1260 | let build_instructions = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_build_instructions` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hash_published` [INFO] [stderr] --> src/attacks_advanced.rs:1261:9 [INFO] [stderr] | [INFO] [stderr] 1261 | let hash_published = true; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_published` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stats` [INFO] [stderr] --> src/explorer.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | let stats = mempool.stats(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `chain` [INFO] [stderr] --> src/pool.rs:294:9 [INFO] [stderr] | [INFO] [stderr] 294 | chain: &ChainState, [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chain` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `peer` [INFO] [stderr] --> src/rpc.rs:120:22 [INFO] [stderr] | [INFO] [stderr] 120 | let (stream, peer) = listener.accept().await?; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_peer` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/rpc.rs:548:42 [INFO] [stderr] | [INFO] [stderr] 548 | async fn rpc_get_network_info(id: Value, state: &RpcState) -> RpcResponse { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `datadir` [INFO] [stderr] --> src/main.rs:630:57 [INFO] [stderr] | [INFO] [stderr] 630 | fn cmd_wallet(action: WalletCommands, network: Network, datadir: &str) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datadir` [INFO] [stderr] [INFO] [stderr] warning: struct `MempoolTx` is never constructed [INFO] [stderr] --> src/attacks_advanced.rs:50:12 [INFO] [stderr] | [INFO] [stderr] 50 | struct MempoolTx { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `timestamp` is never read [INFO] [stderr] --> src/pool.rs:158:5 [INFO] [stderr] | [INFO] [stderr] 156 | struct PplnsShare { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] 157 | address: String, [INFO] [stderr] 158 | timestamp: u64, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PplnsShare` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: constant `INVALID_REQUEST` is never used [INFO] [stderr] --> src/rpc.rs:97:7 [INFO] [stderr] | [INFO] [stderr] 97 | const INVALID_REQUEST: i32 = -32600; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `kittycoin-core` (bin "kittycoin" test) generated 73 warnings (run `cargo fix --bin "kittycoin" -p kittycoin-core --tests` to apply 64 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.33s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kittycoin_core-09edf38f53c52d3f) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/kittycoin-a82b6de1164b06f1) [INFO] [stdout] [INFO] [stdout] running 855 tests [INFO] [stdout] test adaptive::tests::test_adaptive_error_display ... ok [INFO] [stdout] test adaptive::tests::test_attestation_digest_changes_with_data ... ok [INFO] [stdout] test adaptive::tests::test_base_fee_decreases_when_empty ... ok [INFO] [stdout] test adaptive::tests::test_base_fee_increases_when_full ... ok [INFO] [stdout] test adaptive::tests::test_base_fee_floor ... ok [INFO] [stdout] test adaptive::tests::test_base_fee_stays_at_half_full ... ok [INFO] [stdout] test adaptive::tests::test_attestation_digest_deterministic ... ok [INFO] [stdout] test adaptive::tests::test_base_fee_zero_governance_params_no_panic ... ok [INFO] [stdout] test adaptive::tests::test_difficulty_adjustment_fast_blocks ... ok [INFO] [stdout] test adaptive::tests::test_difficulty_adjustment_stable ... ok [INFO] [stdout] test adaptive::tests::test_difficulty_adjustment_slow_blocks ... ok [INFO] [stdout] test adaptive::tests::test_effective_reward_fee_burn ... ok [INFO] [stdout] test adaptive::tests::test_default_params ... ok [INFO] [stdout] test adaptive::tests::test_effective_reward_with_penalty ... ok [INFO] [stdout] test adaptive::tests::test_empty_history_returns_defaults ... ok [INFO] [stdout] test adaptive::tests::test_fee_burn_calculation ... ok [INFO] [stdout] test adaptive::tests::test_fee_burn_no_overflow ... ok [INFO] [stdout] test adaptive::tests::test_governance_override ... ok [INFO] [stdout] test adaptive::tests::test_effective_reward_no_penalty ... ok [INFO] [stdout] test adaptive::tests::test_hybrid_score_full_pos ... ok [INFO] [stdout] test adaptive::tests::test_hybrid_score_no_pow ... ok [INFO] [stdout] test adaptive::tests::test_full_adaptive_cycle ... ok [INFO] [stdout] test adaptive::tests::test_hybrid_score_partial_pos ... ok [INFO] [stdout] test adaptive::tests::test_hybrid_score_pow_only ... ok [INFO] [stdout] test adaptive::tests::test_lwma_fast_blocks ... ok [INFO] [stdout] test adaptive::tests::test_lwma_maximum_block_time ... ok [INFO] [stdout] test adaptive::tests::test_lwma_minimum_block_time ... ok [INFO] [stdout] test adaptive::tests::test_lwma_slow_blocks ... ok [INFO] [stdout] test adaptive::tests::test_lwma_stable_blocks ... ok [INFO] [stdout] test adaptive::tests::test_median_weight_even_count ... ok [INFO] [stdout] test adaptive::tests::test_median_weight_odd_count ... ok [INFO] [stdout] test adaptive::tests::test_median_weight_single_block ... ok [INFO] [stdout] test adaptive::tests::test_miner_penalty_capped_at_reward ... ok [INFO] [stdout] test adaptive::tests::test_miner_penalty_moderate_excess ... ok [INFO] [stdout] test adaptive::tests::test_miner_penalty_no_excess ... ok [INFO] [stdout] test adaptive::tests::test_validate_block_weight_exceeds ... ok [INFO] [stdout] test adaptive::tests::test_validate_block_weight_ok ... ok [INFO] [stdout] test adaptive::tests::test_validate_tx_fee_ok ... ok [INFO] [stdout] test adaptive::tests::test_validate_tx_fee_too_low ... ok [INFO] [stdout] test adaptive::tests::test_weight_limit_ceiling ... ok [INFO] [stdout] test adaptive::tests::test_weight_limit_elastic ... ok [INFO] [stdout] test adaptive::tests::test_weight_limit_floor ... ok [INFO] [stdout] test attacks::tests::test_attack_51_percent_deep_reorg_blocked ... ok [INFO] [stdout] test attacks::tests::test_attack_51_percent_shallow_reorg_allowed ... ok [INFO] [stdout] test attacks::tests::test_attack_asic_limited ... ok [INFO] [stdout] test attacks::tests::test_attack_block_copy_rejected ... ok [INFO] [stdout] test attacks::tests::test_attack_block_spam_oversized ... ok [INFO] [stdout] test attacks::tests::test_attack_block_withholding_mitigated ... ok [INFO] [stdout] test attacks::tests::test_attack_bridge_inflation ... ok [INFO] [stdout] test attacks::tests::test_attack_channel_griefing ... ok [INFO] [stdout] test attacks::tests::test_attack_change_output_linking ... ok [INFO] [stdout] test attacks::tests::test_attack_delay ... ok [INFO] [stdout] test attacks::tests::test_attack_darkside ... ok [INFO] [stdout] test attacks::tests::test_attack_double_spend_few_confirms ... ok [INFO] [stdout] test attacks::tests::test_attack_double_spend_many_confirms ... ok [INFO] [stdout] test attacks::tests::test_attack_eclipse_full_control ... ok [INFO] [stdout] test attacks::tests::test_attack_cpu_complex_script ... ok [INFO] [stdout] test attacks::tests::test_attack_dust_rejection ... ok [INFO] [stdout] test attacks::tests::test_attack_flash_loan_mitigated ... ok [INFO] [stdout] test attacks::tests::test_attack_frontrunning_blocked ... ok [INFO] [stdout] test attacks::tests::test_attack_governance_takeover ... ok [INFO] [stdout] test attacks::tests::test_attack_erebus ... ok [INFO] [stdout] test attacks::tests::test_attack_halving_cliff ... ok [INFO] [stdout] test attacks::tests::test_attack_inflation_blocked ... ok [INFO] [stdout] test attacks::tests::test_attack_ring_anonymity ... ok [INFO] [stdout] test attacks::tests::test_attack_fee_sniping_mitigated ... ok [INFO] [stdout] test attacks::tests::test_attack_seed_infeasible ... ok [INFO] [stdout] test attacks::tests::test_attack_routing_partition ... ok [INFO] [stdout] test attacks::tests::test_attack_selfish_mining_detected ... ok [INFO] [stdout] test attacks::tests::test_attack_selfish_mining_normal_variance ... ok [INFO] [stdout] test attacks::tests::test_attack_shard_takeover ... ok [INFO] [stdout] test attacks::tests::test_attack_storage_collision ... ok [INFO] [stdout] test attacks::tests::test_attack_eclipse_partial ... ok [INFO] [stdout] test attacks::tests::test_attack_nonce_reuse ... ok [INFO] [stdout] test attacks::tests::test_attack_overflow_safe ... ok [INFO] [stdout] test attacks::tests::test_attack_reentrancy_blocked ... ok [INFO] [stdout] test attacks::tests::test_attack_long_range_blocked ... ok [INFO] [stdout] test attacks::tests::test_attack_long_range_recent_allowed ... ok [INFO] [stdout] test attacks::tests::test_attack_replay_protected ... ok [INFO] [stdout] test attacks::tests::test_attack_quantum_hybrid_survives ... ok [INFO] [stdout] test attacks::tests::test_attack_memory_large_data ... ok [INFO] [stdout] test attacks::tests::test_attack_rogue_key ... ok [INFO] [stdout] test attacks::tests::test_attack_sybil_no_advantage ... ok [INFO] [stdout] test attacks::tests::test_attack_timewarp_large_jump ... ok [INFO] [stdout] test attacks_advanced::tests::test_addr_amp_blocked ... ok [INFO] [stdout] test attacks::tests::test_attack_supply_overflow ... ok [INFO] [stdout] test attacks::tests::test_attack_timewarp_small_drift ... ok [INFO] [stdout] test attacks::tests::test_attack_validator_cartel ... ok [INFO] [stdout] test attacks::tests::test_attack_tx_spam_limits ... ok [INFO] [stdout] test attacks::tests::test_attack_vdf_grinding ... ok [INFO] [stdout] test attacks::tests::test_attack_time_dilation ... ok [INFO] [stdout] test attacks::tests::test_attack_trusted_setup ... ok [INFO] [stdout] test attacks::tests::test_attack_wasm_escape ... ok [INFO] [stdout] test attacks_advanced::tests::test_bribery_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_all_advanced_attacks ... ok [INFO] [stdout] test attacks_advanced::tests::test_advanced_report_generation ... ok [INFO] [stdout] test attacks_advanced::tests::test_build_tampering_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_dragonfly_cpfp_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_conn_exhaustion_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_constructor_confusion_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_cve_2018_17144_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_delegatecall_proxy_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_fault_injection_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_getdata_amp_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_graph_clustering_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_invdos_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_lattice_reduction_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_mev_sandwich_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_nlocktime_edge_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_poisoned_decoy_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_dependency_confusion_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_pool_fee_siphon_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_taint_analysis_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_rbf_cycling_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_tx_pinning_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_time_bandit_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_selfdestruct_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_timing_correlation_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_typosquatting_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_value_overflow_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_power_analysis_blocked ... ok [INFO] [stdout] test attacks_advanced::tests::test_rng_backdoor_blocked ... ok [INFO] [stdout] test audit::tests::test_block_stats_empty ... ok [INFO] [stdout] test attacks_advanced::tests::test_sig_malleability_blocked ... ok [INFO] [stdout] test audit::tests::test_check_invariant_reward_correct ... ok [INFO] [stdout] test audit::tests::test_check_invariant_reward_wrong ... ok [INFO] [stdout] test audit::tests::test_chain_health_metrics ... ok [INFO] [stdout] test audit::tests::test_audit_report_hash_deterministic ... ok [INFO] [stdout] test attacks_advanced::tests::test_reentrancy_advanced_blocked ... ok [INFO] [stdout] test audit::tests::test_category_scores ... ok [INFO] [stdout] test attacks_advanced::tests::test_stale_block_blocked ... ok [INFO] [stdout] test audit::tests::test_check_invariant_supply_ok ... ok [INFO] [stdout] test audit::tests::test_audit_report_hash_differs ... ok [INFO] [stdout] test audit::tests::test_check_invariant_utxo_conservation ... ok [INFO] [stdout] test audit::tests::test_check_invariant_utxo_violated ... ok [INFO] [stdout] test audit::tests::test_detect_dust_attack ... ok [INFO] [stdout] test audit::tests::test_detect_empty_blocks ... ok [INFO] [stdout] test audit::tests::test_detect_selfish_mining_majority ... ok [INFO] [stdout] test audit::tests::test_detect_time_warp_none ... ok [INFO] [stdout] test audit::tests::test_full_audit_clean ... ok [INFO] [stdout] test audit::tests::test_full_audit_with_violations ... ok [INFO] [stdout] test audit::tests::test_security_score_floor_at_zero ... ok [INFO] [stdout] test audit::tests::test_non_negative_fees_invariant ... ok [INFO] [stdout] test audit::tests::test_security_score_perfect ... ok [INFO] [stdout] test audit::tests::test_security_score_remediated_ignored ... ok [INFO] [stdout] test audit::tests::test_check_invariant_supply_violated ... ok [INFO] [stdout] test audit::tests::test_detect_dust_attack_none ... ok [INFO] [stdout] test audit::tests::test_detect_time_warp_found ... ok [INFO] [stdout] test audit::tests::test_severity_ordering ... ok [INFO] [stdout] test audit::tests::test_detect_empty_blocks_none ... ok [INFO] [stdout] test benchmark::tests::test_bench_block_reward_runs ... ok [INFO] [stdout] test audit::tests::test_security_score_with_findings ... ok [INFO] [stdout] test audit::tests::test_detect_selfish_mining_none ... ok [INFO] [stdout] test benchmark::tests::test_bench_tx_weight_runs ... ok [INFO] [stdout] test benchmark::tests::test_bench_utxo_operations_runs ... ok [INFO] [stdout] test benchmark::tests::test_bench_transaction_creation_runs ... ok [INFO] [stdout] test benchmark::tests::test_benchmark_result_empty ... ok [INFO] [stdout] test benchmark::tests::test_benchmark_result_from_timings ... ok [INFO] [stdout] test benchmark::tests::test_benchmark_result_median ... ok [INFO] [stdout] test benchmark::tests::test_benchmark_suite_creation ... ok [INFO] [stdout] test benchmark::tests::test_benchmark_suite_custom_iterations ... ok [INFO] [stdout] test benchmark::tests::test_benchmark_suite_min_iterations ... ok [INFO] [stdout] test benchmark::tests::test_bench_block_creation_runs ... ok [INFO] [stdout] test benchmark::tests::test_bench_sha3_runs ... ok [INFO] [stdout] test benchmark::tests::test_bench_consensus_validation_runs ... ok [INFO] [stdout] test block::tests::test_block_constants_sane ... ok [INFO] [stdout] test benchmark::tests::test_benchmark_result_display ... ok [INFO] [stdout] test block::tests::test_block_reward_smooth_decay ... ok [INFO] [stdout] test benchmark::tests::test_bench_transaction_hash_runs ... ok [INFO] [stdout] test block::tests::test_block_display ... ok [INFO] [stdout] test block::tests::test_block_weight_genesis ... ok [INFO] [stdout] test block::tests::test_compact_block_has_correct_tx_ids ... ok [INFO] [stdout] test block::tests::test_block_weight_in_validate_structure ... ok [INFO] [stdout] test block::tests::test_compact_block_no_full_tx_data ... ok [INFO] [stdout] test block::tests::test_difficulty_adjustment ... ok [INFO] [stdout] test block::tests::test_difficulty_never_zero ... ok [INFO] [stdout] test block::tests::test_difficulty_target ... ok [INFO] [stdout] test block::tests::test_estimated_size_positive ... ok [INFO] [stdout] test block::tests::test_difficulty_adjustment_clamped ... ok [INFO] [stdout] test block::tests::test_genesis_block ... ok [INFO] [stdout] test block::tests::test_median_time_past_empty ... ok [INFO] [stdout] test block::tests::test_median_time_past_even ... ok [INFO] [stdout] test block::tests::test_median_time_past_odd ... ok [INFO] [stdout] test block::tests::test_hash_deterministic ... ok [INFO] [stdout] test block::tests::test_median_time_past_single ... ok [INFO] [stdout] test block::tests::test_merkle_root_empty ... ok [INFO] [stdout] test block::tests::test_merkle_root_single_tx ... ok [INFO] [stdout] test block::tests::test_merkle_root_changes_with_tx_order ... ok [INFO] [stdout] test block::tests::test_validate_version_current ... ok [INFO] [stdout] test block::tests::test_reward_tail_emission ... ok [INFO] [stdout] test block::tests::test_validate_version_too_high_rejected ... ok [INFO] [stdout] test block::tests::test_validate_version_max_supported_accepted ... ok [INFO] [stdout] test attacks::tests::test_attack_key_separation ... ok [INFO] [stdout] test block::tests::test_witness_commitment_deterministic ... ok [INFO] [stdout] test block::tests::test_validate_version_zero_rejected ... ok [INFO] [stdout] test bridge::tests::test_bridge_challenge_claim ... ok [INFO] [stdout] test bridge::tests::test_bridge_double_spend_prevention ... ok [INFO] [stdout] test bridge::tests::test_bridge_error_display ... ok [INFO] [stdout] test bridge::tests::test_bridge_fee_calculation ... ok [INFO] [stdout] test bridge::tests::test_bridge_finalize_claim_before_deadline ... ok [INFO] [stdout] test block::tests::test_witness_commitment_changes_with_signature ... ok [INFO] [stdout] test bridge::tests::test_bridge_lock_id_changes_with_amount ... ok [INFO] [stdout] test bridge::tests::test_bridge_lock_id_deterministic ... ok [INFO] [stdout] test bridge::tests::test_bridge_lock_too_large ... ok [INFO] [stdout] test bridge::tests::test_bridge_lock_too_small ... ok [INFO] [stdout] test bridge::tests::test_bridge_paused ... ok [INFO] [stdout] test bridge::tests::test_bridge_relay_header_bad_linkage ... ok [INFO] [stdout] test bridge::tests::test_bridge_relay_headers ... ok [INFO] [stdout] test bridge::tests::test_bridge_tvl_tracking ... ok [INFO] [stdout] test block::tests::test_difficulty_target_zero_difficulty ... ok [INFO] [stdout] test bridge::tests::test_bridge_lock ... ok [INFO] [stdout] test bridge::tests::test_external_chain_id_names ... ok [INFO] [stdout] test bridge::tests::test_external_chain_prefix_uniqueness ... ok [INFO] [stdout] test audit::tests::test_detect_selfish_mining_found ... ok [INFO] [stdout] test bridge::tests::test_spv_proof_verify_single_level ... ok [INFO] [stdout] test bridge::tests::test_relayed_header_id ... ok [INFO] [stdout] test bridge::tests::test_spv_proof_insufficient_confirmations ... ok [INFO] [stdout] test channels::tests::test_channel_id_deterministic ... ok [INFO] [stdout] test channels::tests::test_channels_for_address ... ok [INFO] [stdout] test channels::tests::test_conservation_check ... ok [INFO] [stdout] test channels::tests::test_cooperative_close_balance_not_conserved ... ok [INFO] [stdout] test channels::tests::test_expire_channel ... ok [INFO] [stdout] test channels::tests::test_not_participant ... ok [INFO] [stdout] test channels::tests::test_open_channel ... ok [INFO] [stdout] test channels::tests::test_open_channel_insufficient_funding ... ok [INFO] [stdout] test channels::tests::test_open_channel_same_party ... ok [INFO] [stdout] test channels::tests::test_state_update_hash ... ok [INFO] [stdout] test benchmark::tests::test_estimated_tps ... ok [INFO] [stdout] test consensus::tests::test_anti_timewarp_constants ... ok [INFO] [stdout] test channels::tests::test_rate_limiting ... ok [INFO] [stdout] test consensus::tests::test_block_reward_schedule ... ok [INFO] [stdout] test bridge::tests::test_bridge_finalize_claim_after_deadline ... ok [INFO] [stdout] test consensus::tests::test_block_version_constants ... ok [INFO] [stdout] test consensus::tests::test_auto_checkpoint ... ok [INFO] [stdout] test consensus::tests::test_block_weight_exceeded_error ... ok [INFO] [stdout] test consensus::tests::test_chain_dna_constant ... ok [INFO] [stdout] test consensus::tests::test_chain_dna_strict_genesis ... ok [INFO] [stdout] test consensus::tests::test_chain_dna_affects_block_hash ... ok [INFO] [stdout] test consensus::tests::test_consensus_block_limits_constants ... ok [INFO] [stdout] test consensus::tests::test_consensus_error_variants ... ok [INFO] [stdout] test consensus::tests::test_cumulative_work_at_beyond_height ... ok [INFO] [stdout] test consensus::tests::test_cumulative_work_at_height ... ok [INFO] [stdout] test consensus::tests::test_difficulty_factor_bounds ... ok [INFO] [stdout] test consensus::tests::test_difficulty_timestamp_underflow_safe ... ok [INFO] [stdout] test consensus::tests::test_fee_calculation_no_overflow ... ok [INFO] [stdout] test consensus::tests::test_finality_initial_zero ... ok [INFO] [stdout] test consensus::tests::test_finality_monotonic ... ok [INFO] [stdout] test consensus::tests::test_block_too_large_error ... ok [INFO] [stdout] test consensus::tests::test_finality_update ... ok [INFO] [stdout] test consensus::tests::test_fork_choice_overflow_safety ... ok [INFO] [stdout] test consensus::tests::test_fork_choice_higher_work_wins ... ok [INFO] [stdout] test consensus::tests::test_fraud_proof_hash_deterministic ... ok [INFO] [stdout] test consensus::tests::test_fraud_proof_hash_different_reasons ... ok [INFO] [stdout] test consensus::tests::test_locktime_not_satisfied_error ... ok [INFO] [stdout] test consensus::tests::test_key_images_in_consensus_engine ... ok [INFO] [stdout] test consensus::tests::test_new_consensus_engine ... ok [INFO] [stdout] test channels::tests::test_unilateral_close_and_finalize ... ok [INFO] [stdout] test consensus::tests::test_ntp_offset_clamped ... ok [INFO] [stdout] test consensus::tests::test_chain_dna_strict_tampered_hash ... ok [INFO] [stdout] test consensus::tests::test_rebuild_key_images_from_chain ... ok [INFO] [stdout] test consensus::tests::test_reorg_depth_limit ... ok [INFO] [stdout] test consensus::tests::test_ntp_offset_negative_extreme ... ok [INFO] [stdout] test consensus::tests::test_reorg_blocked_by_finality ... ok [INFO] [stdout] test consensus::tests::test_reorg_with_cumulative_work ... ok [INFO] [stdout] test consensus::tests::test_unsupported_version_error ... ok [INFO] [stdout] test consensus::tests::test_validate_coinbase_saturating_fees ... ok [INFO] [stdout] test consensus::tests::test_selfish_mining_constants ... ok [INFO] [stdout] test consensus::tests::test_verify_chain_dna_genesis ... ok [INFO] [stdout] test crypto::batch_tests::test_batch_verify_mismatched_lengths ... ok [INFO] [stdout] test crypto::batch_tests::test_batch_verify_empty ... ok [INFO] [stdout] test channels::tests::test_dispute ... ok [INFO] [stdout] test attacks::tests::test_attack_hd_deterministic ... ok [INFO] [stdout] test crypto::batch_tests::test_musig_aggregate_pubkey_empty ... ok [INFO] [stdout] test benchmark::tests::test_bench_merkle_root_runs ... ok [INFO] [stdout] test crypto::batch_tests::test_batch_verify_ed25519_one_invalid ... ok [INFO] [stdout] test benchmark::tests::test_report_generation ... ok [INFO] [stdout] test channels::tests::test_cooperative_close ... ok [INFO] [stdout] test crypto::batch_tests::test_pipeline_batch_advance ... ok [INFO] [stdout] test crypto::batch_tests::test_pipeline_batch_all_pass ... ok [INFO] [stdout] test crypto::batch_tests::test_pipeline_stages_sequence ... ok [INFO] [stdout] test crypto::tests::test_address_deterministic ... ok [INFO] [stdout] test crypto::tests::test_address_from_hybrid_pubkey ... ok [INFO] [stdout] test attacks::tests::test_attack_timing_constant_time ... FAILED [INFO] [stdout] test crypto::tests::test_address_from_hybrid_pubkey_format ... ok [INFO] [stdout] test crypto::tests::test_chacha20_encrypt_decrypt ... ok [INFO] [stdout] test crypto::tests::test_chacha20_nonces_are_unique ... ok [INFO] [stdout] test crypto::tests::test_chacha20_wrong_key_fails ... ok [INFO] [stdout] test crypto::tests::test_chacha20_ciphertext_varies_per_nonce ... ok [INFO] [stdout] test crypto::tests::test_constant_time_eq_both_empty ... ok [INFO] [stdout] test crypto::tests::test_constant_time_eq_different_lengths ... ok [INFO] [stdout] test benchmark::tests::test_run_all_benchmarks ... ok [INFO] [stdout] test crypto::batch_tests::test_musig_aggregate_pubkey_single ... ok [INFO] [stdout] test crypto::tests::test_constant_time_eq_different_length ... ok [INFO] [stdout] test crypto::tests::test_constant_time_eq_not_equal ... ok [INFO] [stdout] test crypto::tests::test_constant_time_eq_equal ... ok [INFO] [stdout] test crypto::tests::test_constant_time_eq_empty ... ok [INFO] [stdout] test crypto::tests::test_constant_time_eq_different_values ... ok [INFO] [stdout] test crypto::tests::test_decrypt_short_data_rejected ... ok [INFO] [stdout] test crypto::tests::test_decrypt_wrong_key_fails ... ok [INFO] [stdout] test crypto::tests::test_decrypt_tampered_ciphertext_fails ... ok [INFO] [stdout] test crypto::tests::test_constant_time_eq_self ... ok [INFO] [stdout] test crypto::tests::test_fingerprint_constants ... ok [INFO] [stdout] test crypto::batch_tests::test_batch_verify_ed25519_all_valid ... ok [INFO] [stdout] test crypto::tests::test_fingerprinted_address_prefix_and_length ... ok [INFO] [stdout] test crypto::tests::test_fingerprinted_address_unique ... ok [INFO] [stdout] test crypto::tests::test_fingerprinted_address_format ... ok [INFO] [stdout] test crypto::tests::test_fingerprinted_hash_deterministic ... ok [INFO] [stdout] test crypto::tests::test_fingerprinted_hash_different_data ... ok [INFO] [stdout] test crypto::tests::test_fingerprinted_hash_different_domains ... ok [INFO] [stdout] test crypto::tests::test_fingerprinted_hash_domain_matters ... ok [INFO] [stdout] test crypto::tests::test_fingerprinted_hash_same_inputs ... ok [INFO] [stdout] test crypto::tests::test_hybrid_kem_roundtrip ... ok [INFO] [stdout] test crypto::tests::test_hybrid_kem_wrong_recipient_fails ... ok [INFO] [stdout] test crypto::tests::test_hybrid_kem_different_recipients_different_secrets ... ok [INFO] [stdout] test crypto::tests::test_hybrid_keypair_generate ... ok [INFO] [stdout] test crypto::tests::test_hybrid_keypair_zeroizes_on_drop ... ok [INFO] [stdout] test crypto::tests::test_hybrid_keypair_export_import ... ok [INFO] [stdout] test crypto::tests::test_hybrid_sig_both_algorithms_required ... ok [INFO] [stdout] test crypto::tests::test_hybrid_sign_and_verify ... ok [INFO] [stdout] test crypto::tests::test_derive_key_deterministic ... ok [INFO] [stdout] test crypto::tests::test_hybrid_signature_fails_wrong_data ... ok [INFO] [stdout] test crypto::tests::test_hybrid_signature_fails_wrong_key ... ok [INFO] [stdout] test crypto::tests::test_kyber_keypair_zeroizes_on_drop ... ok [INFO] [stdout] test crypto::tests::test_kyber_key_exchange ... ok [INFO] [stdout] test crypto::batch_tests::test_musig_aggregate_pubkey_order_matters ... ok [INFO] [stdout] test crypto::tests::test_key_commitment_prevents_substitution ... ok [INFO] [stdout] test crypto::tests::test_triple_hash_collision_resistance ... ok [INFO] [stdout] test crypto::tests::test_triple_hash_deterministic ... ok [INFO] [stdout] test crypto::tests::test_triple_hash_different_inputs ... ok [INFO] [stdout] test crypto::tests::test_triple_hash_same_input_same_output ... ok [INFO] [stdout] test crypto::tests::test_verify_ed25519_raw_empty_signature ... ok [INFO] [stdout] test crypto::batch_tests::test_musig_aggregate_pubkey_deterministic ... ok [INFO] [stdout] test crypto::tests::test_verify_ed25519_raw_short_signature ... ok [INFO] [stdout] test crypto::tests::test_derive_key_different_passwords ... ok [INFO] [stdout] test crypto::tests::test_verify_ed25519_raw_valid ... ok [INFO] [stdout] test crypto::tests::test_verify_ed25519_raw_invalid_signature ... ok [INFO] [stdout] test crypto::tests::test_verify_fingerprint_invalid ... ok [INFO] [stdout] test crypto::tests::test_verify_fingerprint_valid ... ok [INFO] [stdout] test crypto::tests::test_wallet_decrypt_short_data_fails ... ok [INFO] [stdout] test crypto::tests::test_verify_fingerprint ... ok [INFO] [stdout] test crypto::tests::test_derive_key_different_salts ... ok [INFO] [stdout] test crypto::tests::test_verify_ed25519_raw_wrong_key ... ok [INFO] [stdout] test benchmark::tests::test_bench_signature_creation_runs ... ok [INFO] [stdout] test crypto::batch_tests::test_musig_2_of_2_sign_verify ... ok [INFO] [stdout] test explorer::tests::test_explorer_block_serialize ... ok [INFO] [stdout] test explorer::tests::test_hex_to_hash_invalid_chars ... ok [INFO] [stdout] test explorer::tests::test_hex_to_hash_invalid_length ... ok [INFO] [stdout] test explorer::tests::test_hex_to_hash_valid ... ok [INFO] [stdout] test explorer::tests::test_explorer_address_serialize ... ok [INFO] [stdout] test explorer::tests::test_network_stats_serialize ... ok [INFO] [stdout] test explorer::tests::test_paginated_response ... ok [INFO] [stdout] test explorer::tests::test_rich_list_entry ... ok [INFO] [stdout] test explorer::tests::test_mempool_info ... ok [INFO] [stdout] test explorer::tests::test_search_result_types ... ok [INFO] [stdout] test governance::tests::test_emergency_proposal_needs_supermajority ... ok [INFO] [stdout] test governance::tests::test_emergency_with_supermajority ... ok [INFO] [stdout] test governance::tests::test_execute_parameter_change ... ok [INFO] [stdout] test governance::tests::test_expire_stale_proposals ... ok [INFO] [stdout] test governance::tests::test_integer_sqrt ... ok [INFO] [stdout] test governance::tests::test_no_quorum ... ok [INFO] [stdout] test governance::tests::test_proposal_hash_deterministic ... ok [INFO] [stdout] test governance::tests::test_submit_proposal ... ok [INFO] [stdout] test governance::tests::test_timelock_not_expired ... ok [INFO] [stdout] test governance::tests::test_treasury_spend ... ok [INFO] [stdout] test governance::tests::test_treasury_spend_insufficient ... ok [INFO] [stdout] test governance::tests::test_quadratic_voting_reduces_whale_power ... ok [INFO] [stdout] test governance::tests::test_veto ... ok [INFO] [stdout] test governance::tests::test_vote_and_pass ... ok [INFO] [stdout] test crypto::tests::test_wallet_encryption_wrong_password ... ok [INFO] [stdout] test governance::tests::test_vote_change ... ok [INFO] [stdout] test governance::tests::test_vote_and_reject ... ok [INFO] [stdout] test integration::tests::test_equivocation_same_block_hashes_rejected ... ok [INFO] [stdout] test integration::tests::test_estimate_fee ... ok [INFO] [stdout] test crypto::batch_tests::test_musig_wrong_message_fails ... ok [INFO] [stdout] test integration::tests::test_block_history_trimming ... ok [INFO] [stdout] test integration::tests::test_governance_sync ... ok [INFO] [stdout] test integration::tests::test_process_burn ... ok [INFO] [stdout] test integration::tests::test_fee_split ... ok [INFO] [stdout] test integration::tests::test_process_contract_call_not_found ... ok [INFO] [stdout] test integration::tests::test_process_contract_call_short_data ... ok [INFO] [stdout] test integration::tests::test_process_contract_deploy_empty ... ok [INFO] [stdout] test integration::tests::test_process_contract_deploy_simple ... ok [INFO] [stdout] test integration::tests::test_process_contract_deploy_too_large ... ok [INFO] [stdout] test integration::tests::test_process_stake_new_validator ... ok [INFO] [stdout] test integration::tests::test_process_transfer_passthrough ... ok [INFO] [stdout] test integration::tests::test_process_unstake ... ok [INFO] [stdout] test integration::tests::test_runtime_creation ... ok [INFO] [stdout] test integration::tests::test_runtime_summary_after_operations ... ok [INFO] [stdout] test integration::tests::test_state_root_changes_with_state ... ok [INFO] [stdout] test integration::tests::test_state_root_deterministic ... ok [INFO] [stdout] test integration::tests::test_process_stake_insufficient ... ok [INFO] [stdout] test integration::tests::test_state_summary_initial ... ok [INFO] [stdout] test integration::tests::test_integration_error_display ... ok [INFO] [stdout] test mempool::tests::test_add_transaction ... ok [INFO] [stdout] test mempool::tests::test_empty_mempool ... ok [INFO] [stdout] test mempool::tests::test_effective_fee_rate_no_children ... ok [INFO] [stdout] test crypto::tests::test_wallet_decrypt_wrong_password_fails ... ok [INFO] [stdout] test mempool::tests::test_mempool_constants ... ok [INFO] [stdout] test crypto::tests::test_wallet_encrypt_decrypt_roundtrip ... ok [INFO] [stdout] test mempool::tests::test_reject_low_fee ... ok [INFO] [stdout] test mempool::tests::test_get_transactions_by_fee ... ok [INFO] [stdout] test mempool::tests::test_cpfp_boosts_parent_fee_rate ... ok [INFO] [stdout] test mempool::tests::test_get_transactions_for_block_cpfp ... ok [INFO] [stdout] test crypto::batch_tests::test_musig_3_of_3_sign_verify ... ok [INFO] [stdout] test mempool::tests::test_zero_fee_with_bandwidth_accepted ... ok [INFO] [stdout] test mining::tests::test_data_dependent_branches_differ ... ok [INFO] [stdout] test mining::tests::test_data_dependent_progpow_stage ... ok [INFO] [stdout] test mempool::tests::test_zero_fee_insufficient_bandwidth_uses_free_tier ... ok [INFO] [stdout] test mining::tests::test_epoch_argon2_params_rotation ... ok [INFO] [stdout] test mining::tests::test_epoch_argon2_params_stable_within_epoch ... ok [INFO] [stdout] test mining::tests::test_epoch_salt_changes_per_epoch ... ok [INFO] [stdout] test mining::tests::test_epoch_salt_stable_within_epoch ... ok [INFO] [stdout] test mining::tests::test_forthash_deterministic ... ok [INFO] [stdout] test crypto::tests::test_wallet_encryption ... ok [INFO] [stdout] test mempool::tests::test_remove_transaction ... ok [INFO] [stdout] test mempool::tests::test_reject_duplicate ... ok [INFO] [stdout] test mining::tests::test_forthash_v2_all_layers_contribute ... ok [INFO] [stdout] test mining::tests::test_nonce_commitment_changes_with_height ... ok [INFO] [stdout] test mining::tests::test_nonce_commitment_deterministic ... ok [INFO] [stdout] test mining::tests::test_forthash_different_nonce ... ok [INFO] [stdout] test mining::tests::test_nonce_commitment_changes_with_nonce ... ok [INFO] [stdout] test mining::tests::test_scratchpad_rounds_increased ... ok [INFO] [stdout] test mining::tests::test_scratchpad_different_seeds ... ok [INFO] [stdout] test mining::tests::test_scratchpad_third_pass_affects_result ... ok [INFO] [stdout] test mining::tests::test_scratchpad_deterministic ... ok [INFO] [stdout] test mining::tests::test_template_commitment_changes_with_tx_count ... ok [INFO] [stdout] test mining::tests::test_template_commitment_deterministic ... ok [INFO] [stdout] test mining::tests::test_vdf_deterministic ... ok [INFO] [stdout] test mining::tests::test_vdf_fast_verify_tampered_checkpoint ... ok [INFO] [stdout] test mining::tests::test_vdf_different_seeds ... ok [INFO] [stdout] test mining::tests::test_vdf_different_iterations ... ok [INFO] [stdout] test mining::tests::test_vdf_fast_verify_tampered_output ... ok [INFO] [stdout] test integration::tests::test_equivocation_rejects_forged_signatures ... ok [INFO] [stdout] test mining::tests::test_vdf_verify_invalid ... ok [INFO] [stdout] test mining::tests::test_vdf_fast_verify_valid ... ok [INFO] [stdout] test network::tests::test_authenticated_message_roundtrip ... ok [INFO] [stdout] test mining::tests::test_vdf_verify_valid ... ok [INFO] [stdout] test network::tests::test_authenticated_message_tampered_hmac_fails ... ok [INFO] [stdout] test network::tests::test_authenticated_message_wrong_key_fails ... ok [INFO] [stdout] test network::tests::test_ban_entry_expiry ... ok [INFO] [stdout] test network::tests::test_authenticated_message_wrong_magic_fails ... ok [INFO] [stdout] test network::tests::test_ban_entry_expired ... ok [INFO] [stdout] test network::tests::test_ban_entry_not_expired ... ok [INFO] [stdout] test network::tests::test_challenge_proof_roundtrip ... ok [INFO] [stdout] test network::tests::test_ban_expires ... ok [INFO] [stdout] test network::tests::test_challenge_proof_tampered_fails ... ok [INFO] [stdout] test network::tests::test_ban_peer ... ok [INFO] [stdout] test network::tests::test_challenge_proof_wrong_key_fails ... ok [INFO] [stdout] test network::tests::test_challenge_proof_wrong_nonce_fails ... ok [INFO] [stdout] test network::tests::test_derive_session_key_deterministic ... ok [INFO] [stdout] test network::tests::test_derive_session_key_different_secrets ... ok [INFO] [stdout] test network::tests::test_challenge_proof_wrong_timestamp_fails ... ok [INFO] [stdout] test mining::tests::test_mine_block_easy_difficulty ... ok [INFO] [stdout] test network::tests::test_cleanup_bans ... ok [INFO] [stdout] test network::tests::test_different_subnets_allowed ... ok [INFO] [stdout] test network::tests::test_invalid_messages_ban ... ok [INFO] [stdout] test network::tests::test_min_subnet_diversity_constant ... ok [INFO] [stdout] test network::tests::test_max_peers_per_subnet_constant ... ok [INFO] [stdout] test network::tests::test_encrypt_message_replay_blocked ... ok [INFO] [stdout] test network::tests::test_rate_abuse_ban ... ok [INFO] [stdout] test network::tests::test_rate_limit_enforcement ... ok [INFO] [stdout] test network::tests::test_replay_window_large_jump ... ok [INFO] [stdout] test network::tests::test_replay_window_normal_sequence ... ok [INFO] [stdout] test network::tests::test_replay_window_out_of_order_within_window ... ok [INFO] [stdout] test network::tests::test_replay_window_rejects_duplicate ... ok [INFO] [stdout] test network::tests::test_encrypt_message_wrong_session_key_fails ... ok [INFO] [stdout] test network::tests::test_replay_window_rejects_too_old ... ok [INFO] [stdout] test crypto::batch_tests::test_musig_wrong_pubkeys_fails ... ok [INFO] [stdout] test network::tests::test_replay_window_rejects_zero ... ok [INFO] [stdout] test network::tests::test_reputation_combined_attack ... ok [INFO] [stdout] test network::tests::test_reputation_floor_respected ... ok [INFO] [stdout] test network::tests::test_reputation_invalid_penalty ... ok [INFO] [stdout] test network::tests::test_reputation_ban_threshold ... ok [INFO] [stdout] test network::tests::test_reputation_max_score_cap ... ok [INFO] [stdout] test network::tests::test_reputation_misbehavior_heavy_penalty ... ok [INFO] [stdout] test network::tests::test_encrypt_decrypt_message_roundtrip ... ok [INFO] [stdout] test network::tests::test_reputation_rate_limit_resets_each_second ... ok [INFO] [stdout] test network::tests::test_reputation_misbehavior_escalation ... ok [INFO] [stdout] test mempool::tests::test_zero_fee_without_bandwidth_free_tier ... ok [INFO] [stdout] test network::tests::test_send_seq_monotonic ... ok [INFO] [stdout] test network::tests::test_session_encryption_different_seq_different_ciphertext ... ok [INFO] [stdout] test network::tests::test_reputation_new ... ok [INFO] [stdout] test network::tests::test_reputation_rate_limit ... ok [INFO] [stdout] test network::tests::test_reputation_recovery_slow ... ok [INFO] [stdout] test network::tests::test_reputation_valid_messages_slow_climb ... ok [INFO] [stdout] test network::tests::test_session_encryption_empty_plaintext ... ok [INFO] [stdout] test network::tests::test_session_encryption_roundtrip ... ok [INFO] [stdout] test network::tests::test_session_encryption_tampered_ciphertext_fails ... ok [INFO] [stdout] test network::tests::test_session_state_authenticated_flow ... ok [INFO] [stdout] test network::tests::test_session_encryption_wrong_sequence_fails ... ok [INFO] [stdout] test network::tests::test_session_encryption_wrong_key_fails ... ok [INFO] [stdout] test network::tests::test_subnet_key_different_subnets ... ok [INFO] [stdout] test network::tests::test_subnet_key_ipv4 ... ok [INFO] [stdout] test network::tests::test_subnet_diversity_empty ... ok [INFO] [stdout] test network::tests::test_subnet_key_same_subnet ... ok [INFO] [stdout] test network::tests::test_subnet_diversity_perfect ... ok [INFO] [stdout] test network::tests::test_subnet_key_different_subnet ... ok [INFO] [stdout] test network::tests::test_security_info ... ok [INFO] [stdout] test network::tests::test_subnet_limit_enforcement ... ok [INFO] [stdout] test network::tests::test_validate_message_size ... ok [INFO] [stdout] test pool::tests::test_compute_merkle_root_empty ... ok [INFO] [stdout] test mining::tests::test_mine_can_be_stopped ... ok [INFO] [stdout] test network::tests::test_x25519_handshake_shared_secret_matches ... ok [INFO] [stdout] test pool::tests::test_count_leading_zeros ... ok [INFO] [stdout] test pool::tests::test_pool_stats_empty ... ok [INFO] [stdout] test pool::tests::test_register_miner ... ok [INFO] [stdout] test pool::tests::test_disconnect_miner ... ok [INFO] [stdout] test pool::tests::test_pool_server_new ... ok [INFO] [stdout] test pool::tests::test_pool_stop ... ok [INFO] [stdout] test pool::tests::test_mining_job_serialize ... ok [INFO] [stdout] test pool::tests::test_stratum_message_serialize ... ok [INFO] [stdout] test pool::tests::test_pplns_rewards_empty ... ok [INFO] [stdout] test privacy::confidential_asset_tests::test_asset_tag_generator_deterministic ... ok [INFO] [stdout] test privacy::confidential_asset_tests::test_empty_surjection_proof_fails ... ok [INFO] [stdout] test mempool::tests::test_sender_rate_limit ... ok [INFO] [stdout] test privacy::confidential_asset_tests::test_asset_tag_generator_different_tags ... ok [INFO] [stdout] test privacy::confidential_asset_tests::test_asset_balance_conservation ... ok [INFO] [stdout] test privacy::confidential_asset_tests::test_commit_verify_wrong_tag ... ok [INFO] [stdout] test pool::tests::test_register_max_miners ... ok [INFO] [stdout] test crypto::tests::test_sphincs_keypair_zeroizes_on_drop ... ok [INFO] [stdout] test privacy::confidential_asset_tests::test_stealth_hd_hardened_derivation ... ok [INFO] [stdout] test privacy::tests::test_bandwidth_consume ... ok [INFO] [stdout] test privacy::tests::test_bandwidth_creation ... ok [INFO] [stdout] test privacy::tests::test_bandwidth_exceed_fails ... ok [INFO] [stdout] test privacy::tests::test_batch_verify_range_proofs_empty ... ok [INFO] [stdout] test privacy::confidential_asset_tests::test_asset_balance_wrong_excess ... ok [INFO] [stdout] test privacy::confidential_asset_tests::test_surjection_proof_wrong_index ... ok [INFO] [stdout] test privacy::tests::test_dandelion_eventually_fluffs ... ok [INFO] [stdout] test privacy::tests::test_dandelion_starts_in_stem ... ok [INFO] [stdout] test privacy::tests::test_dandelion_stem_hops_increased ... ok [INFO] [stdout] test privacy::confidential_asset_tests::test_stealth_hd_payment_works ... ok [INFO] [stdout] test privacy::confidential_asset_tests::test_stealth_hd_different_accounts_independent ... ok [INFO] [stdout] test privacy::confidential_asset_tests::test_commit_verify_asset_type ... ok [INFO] [stdout] test privacy::confidential_asset_tests::test_native_asset_tag ... ok [INFO] [stdout] test privacy::tests::test_decoy_selection_count ... ok [INFO] [stdout] test privacy::tests::test_decoy_selection_excludes_real ... ok [INFO] [stdout] test privacy::tests::test_decoy_selection_biased_toward_recent ... ok [INFO] [stdout] test privacy::tests::test_decoy_selection_excludes_real_index ... ok [INFO] [stdout] test privacy::tests::test_decoy_selection_no_duplicates ... ok [INFO] [stdout] test privacy::tests::test_decoy_selection_no_duplicates_sorted ... ok [INFO] [stdout] test privacy::tests::test_encrypted_transaction_roundtrip ... ok [INFO] [stdout] test privacy::tests::test_key_image_different_images ... ok [INFO] [stdout] test privacy::tests::test_key_image_double_spend_detected ... ok [INFO] [stdout] test privacy::tests::test_key_image_set_empty ... ok [INFO] [stdout] test privacy::tests::test_generate_decoy_outputs_correct_count ... ok [INFO] [stdout] test privacy::confidential_asset_tests::test_stealth_hd_derivation_deterministic ... ok [INFO] [stdout] test privacy::tests::test_decoy_generation_count ... ok [INFO] [stdout] test privacy::confidential_asset_tests::test_surjection_proof_valid ... ok [INFO] [stdout] test privacy::tests::test_decoy_generation_valid_points ... ok [INFO] [stdout] test privacy::confidential_asset_tests::test_surjection_proof_multi_input ... ok [INFO] [stdout] test privacy::tests::test_decoy_generation_unique ... ok [INFO] [stdout] test attacks::tests::test_attack_stealth_unlinkable ... ok [INFO] [stdout] test privacy::tests::test_range_proof_tampered_commitment_rejected ... ok [INFO] [stdout] test privacy::tests::test_range_proof_invalid_bits ... ok [INFO] [stdout] test privacy::tests::test_ring_anonymity_accepts_valid_ring ... ok [INFO] [stdout] test privacy::tests::test_range_proof_size ... ok [INFO] [stdout] test privacy::tests::test_ring_anonymity_rejects_small_ring ... ok [INFO] [stdout] test privacy::tests::test_range_proof_tampered_or_proof_rejected ... ok [INFO] [stdout] test privacy::tests::test_ring_signature_different_signers_different_key_images ... ok [INFO] [stdout] test privacy::tests::test_ring_anonymity_rejects_duplicate_members ... ok [INFO] [stdout] test privacy::tests::test_range_proof_tampered_bit_commitment_rejected ... ok [INFO] [stdout] test privacy::tests::test_ring_signature_basic ... ok [INFO] [stdout] test privacy::tests::test_ring_signature_minimum_size ... ok [INFO] [stdout] test privacy::tests::test_ring_signature_rejects_size_one ... ok [INFO] [stdout] test privacy::tests::test_ring_size_constants ... ok [INFO] [stdout] test privacy::tests::test_ring_size_increased ... ok [INFO] [stdout] test privacy::tests::test_select_decoys_excludes_real_index ... ok [INFO] [stdout] test privacy::tests::test_select_decoys_no_duplicates ... ok [INFO] [stdout] test privacy::tests::test_select_decoys_single_utxo ... ok [INFO] [stdout] test privacy::tests::test_select_decoys_small_utxo_set ... ok [INFO] [stdout] test privacy::tests::test_stealth_different_recipients_different_addresses ... ok [INFO] [stdout] test privacy::tests::test_stealth_export_import ... ok [INFO] [stdout] test privacy::tests::test_stealth_keypair_generate ... ok [INFO] [stdout] test privacy::tests::test_ring_signature_fails_wrong_message ... ok [INFO] [stdout] test privacy::tests::test_stealth_payment_roundtrip ... ok [INFO] [stdout] test privacy::tests::test_threshold_encrypt_requires_minimum_committee ... ok [INFO] [stdout] test privacy::tests::test_threshold_encrypted_roundtrip ... ok [INFO] [stdout] test privacy::tests::test_validate_ring_anonymity_accepts_valid_ring ... ok [INFO] [stdout] test privacy::tests::test_validate_ring_anonymity_rejects_oversized_ring ... ok [INFO] [stdout] test privacy::tests::test_validate_ring_anonymity_rejects_small_ring ... ok [INFO] [stdout] test rpc::tests::test_block_to_json ... ok [INFO] [stdout] test rpc::tests::test_header_to_json ... ok [INFO] [stdout] test rpc::tests::test_rpc_info ... ok [INFO] [stdout] test rpc::tests::test_rpc_request_parse ... ok [INFO] [stdout] test rpc::tests::test_rpc_response_error ... ok [INFO] [stdout] test rpc::tests::test_rpc_response_success ... ok [INFO] [stdout] test rpc::tests::test_validate_address_invalid ... ok [INFO] [stdout] test rpc::tests::test_validate_address_kitty1 ... ok [INFO] [stdout] test rpc::tests::test_validate_address_kitty2 ... ok [INFO] [stdout] test sharding::tests::test_beacon_block_aggregated_root ... ok [INFO] [stdout] test sharding::tests::test_beacon_block_create ... ok [INFO] [stdout] test sharding::tests::test_beacon_block_verify_commitments ... ok [INFO] [stdout] test sharding::tests::test_committee_assignment_deterministic ... ok [INFO] [stdout] test sharding::tests::test_committee_contains ... ok [INFO] [stdout] test sharding::tests::test_committee_quorum ... ok [INFO] [stdout] test sharding::tests::test_committee_rotation_changes ... ok [INFO] [stdout] test sharding::tests::test_cross_shard_receipt_expiry ... ok [INFO] [stdout] test sharding::tests::test_cross_shard_receipt_id ... ok [INFO] [stdout] test sharding::tests::test_shard_config_clamping ... ok [INFO] [stdout] test sharding::tests::test_shard_config_default ... ok [INFO] [stdout] test sharding::tests::test_shard_error_display ... ok [INFO] [stdout] test sharding::tests::test_shard_for_address_deterministic ... ok [INFO] [stdout] test sharding::tests::test_shard_for_address_distribution ... ok [INFO] [stdout] test sharding::tests::test_shard_for_address_single_shard ... ok [INFO] [stdout] test sharding::tests::test_shard_for_transaction_same_shard ... ok [INFO] [stdout] test sharding::tests::test_shard_manager_cleanup_expired ... ok [INFO] [stdout] test sharding::tests::test_shard_manager_emit_receipt ... ok [INFO] [stdout] test sharding::tests::test_shard_manager_process_receipt ... ok [INFO] [stdout] test sharding::tests::test_shard_manager_same_shard_receipt_rejected ... ok [INFO] [stdout] test sharding::tests::test_shard_manager_shard_for ... ok [INFO] [stdout] test sharding::tests::test_shard_state_commitment_hash ... ok [INFO] [stdout] test sharding::tests::test_shard_state_commitment_tampered ... ok [INFO] [stdout] test sharding::tests::test_shard_state_commitment_verify ... ok [INFO] [stdout] test spv::tests::test_bloom_filter_basic ... ok [INFO] [stdout] test spv::tests::test_bloom_filter_fp_rate ... ok [INFO] [stdout] test privacy::tests::test_stealth_wrong_recipient_cannot_detect ... ok [INFO] [stdout] test spv::tests::test_bloom_filter_no_false_negatives ... ok [INFO] [stdout] test spv::tests::test_header_chain_checkpoint ... ok [INFO] [stdout] test spv::tests::test_header_chain_genesis ... ok [INFO] [stdout] test spv::tests::test_header_chain_hash_lookup ... ok [INFO] [stdout] test spv::tests::test_header_chain_new ... ok [INFO] [stdout] test spv::tests::test_header_chain_not_synced ... ok [INFO] [stdout] test spv::tests::test_header_chain_serialize_roundtrip ... ok [INFO] [stdout] test spv::tests::test_header_chain_stats ... ok [INFO] [stdout] test spv::tests::test_header_chain_total_work ... ok [INFO] [stdout] test spv::tests::test_is_confirmed_insufficient ... ok [INFO] [stdout] test privacy::tests::test_ring_signature_key_image_unique ... ok [INFO] [stdout] test staking::tests::test_active_set ... ok [INFO] [stdout] test spv::tests::test_spv_proof_verification_fails_unknown_block ... ok [INFO] [stdout] test staking::tests::test_commission_too_high ... ok [INFO] [stdout] test staking::tests::test_delegate_to_jailed_validator ... ok [INFO] [stdout] test staking::tests::test_delegation ... ok [INFO] [stdout] test staking::tests::test_delegation_limit ... ok [INFO] [stdout] test staking::tests::test_effective_stake_capped ... ok [INFO] [stdout] test staking::tests::test_add_stake ... ok [INFO] [stdout] test staking::tests::test_jailed_validator_zero_effective_stake ... ok [INFO] [stdout] test staking::tests::test_epoch_rewards ... ok [INFO] [stdout] test staking::tests::test_process_unstake_queue ... ok [INFO] [stdout] test staking::tests::test_register_validator ... ok [INFO] [stdout] test staking::tests::test_register_validator_below_minimum ... ok [INFO] [stdout] test staking::tests::test_register_duplicate ... ok [INFO] [stdout] test staking::tests::test_undelegation ... ok [INFO] [stdout] test staking::tests::test_slash_equivocation ... ok [INFO] [stdout] test staking::tests::test_unjail ... ok [INFO] [stdout] test staking::tests::test_unstake_request ... ok [INFO] [stdout] test staking::tests::test_validator_selection ... ok [INFO] [stdout] test staking::tests::test_validator_selection_too_few ... ok [INFO] [stdout] test staking::tests::test_withdraw_rewards ... ok [INFO] [stdout] test storage::tests::test_balance_nonexistent_address ... ok [INFO] [stdout] test storage::tests::test_blocks_iter ... ok [INFO] [stdout] test staking::tests::test_unstake_below_minimum ... ok [INFO] [stdout] test storage::tests::test_chain_stats ... ok [INFO] [stdout] test storage::tests::test_chain_stats_display ... ok [INFO] [stdout] test storage::tests::test_circulating_supply_genesis ... ok [INFO] [stdout] test spv::tests::test_bloom_filter_rejects_unknown ... ok [INFO] [stdout] test storage::tests::test_coinbase_utxos_tracked_on_apply ... ok [INFO] [stdout] test storage::tests::test_create_snapshot_from_genesis ... ok [INFO] [stdout] test storage::tests::test_default_prune_keep_blocks_constant ... ok [INFO] [stdout] test storage::tests::test_full_chain_integrity_corrupted_hash ... ok [INFO] [stdout] test storage::tests::test_full_chain_integrity_corrupted_merkle ... ok [INFO] [stdout] test storage::tests::test_full_chain_integrity_genesis ... ok [INFO] [stdout] test storage::tests::test_genesis_initialization ... ok [INFO] [stdout] test storage::tests::test_get_block_by_hash ... ok [INFO] [stdout] test storage::tests::test_get_block_by_height ... ok [INFO] [stdout] test storage::tests::test_max_utxo_set_size_constant ... ok [INFO] [stdout] test storage::tests::test_new_chain_state ... ok [INFO] [stdout] test storage::tests::test_chain_state_with_sled_backend ... ok [INFO] [stdout] test storage::tests::test_coinbase_utxos_rebuilt_on_sled_load ... ok [INFO] [stdout] test storage::tests::test_persistent_db_iter_utxos ... ok [INFO] [stdout] test storage::tests::test_persistent_db_flush_and_reopen ... ok [INFO] [stdout] test storage::tests::test_persistent_db_meta ... ok [INFO] [stdout] test storage::tests::test_prune_keeps_recent_blocks_intact ... ok [INFO] [stdout] test storage::tests::test_prune_no_op_when_few_blocks ... ok [INFO] [stdout] test storage::tests::test_restore_from_corrupted_snapshot_fails ... ok [INFO] [stdout] test storage::tests::test_restore_from_snapshot_roundtrip ... ok [INFO] [stdout] test storage::tests::test_rollback_empty_chain_returns_none ... ok [INFO] [stdout] test storage::tests::test_rollback_genesis_restores_empty ... ok [INFO] [stdout] test storage::tests::test_rollback_preserves_earlier_blocks ... ok [INFO] [stdout] test storage::tests::test_rollback_tip_cleans_coinbase_utxos ... ok [INFO] [stdout] test storage::tests::test_rollback_tip_restores_difficulty ... ok [INFO] [stdout] test storage::tests::test_persistent_db_open_and_store_block ... ok [INFO] [stdout] test storage::tests::test_persistent_db_utxo_operations ... ok [INFO] [stdout] test storage::tests::test_snapshot_with_tampered_utxo_fails ... ok [INFO] [stdout] test storage::tests::test_storage_error_display ... ok [INFO] [stdout] test storage::tests::test_utxo_checksum_deterministic ... ok [INFO] [stdout] test storage::tests::test_sled_save_and_reload ... ok [INFO] [stdout] test storage::tests::test_utxo_count ... ok [INFO] [stdout] test storage::tests::test_utxo_checksum_changes_with_state ... ok [INFO] [stdout] test storage::tests::test_utxo_integrity_burn_address_rejected ... ok [INFO] [stdout] test storage::tests::test_utxo_checksum_empty ... ok [INFO] [stdout] test storage::tests::test_utxo_integrity_valid ... ok [INFO] [stdout] test storage::tests::test_utxo_merkle_proof_nonexistent ... ok [INFO] [stdout] test storage::tests::test_utxo_integrity_zero_amount_rejected ... ok [INFO] [stdout] test storage::tests::test_utxo_merkle_proof_verify ... ok [INFO] [stdout] test storage::tests::test_utxo_merkle_root_changes_with_state ... ok [INFO] [stdout] test storage::tests::test_utxo_merkle_root_deterministic ... ok [INFO] [stdout] test storage::tests::test_utxo_merkle_proof_wrong_leaf_fails ... ok [INFO] [stdout] test storage::tests::test_utxo_merkle_root_empty ... ok [INFO] [stdout] test storage::tests::test_utxo_tracking ... ok [INFO] [stdout] test transaction::tests::test_all_tx_types_have_unique_bytes ... ok [INFO] [stdout] test transaction::tests::test_batch_verify_coinbase_only ... ok [INFO] [stdout] test transaction::tests::test_batch_verification_failed_error ... ok [INFO] [stdout] test crypto::tests::test_sphincs_fails_wrong_data ... ok [INFO] [stdout] test transaction::tests::test_burn_tx_to_zero_address ... ok [INFO] [stdout] test transaction::tests::test_coinbase_transaction ... ok [INFO] [stdout] test transaction::tests::test_decoy_outputs_unspendable_addresses ... ok [INFO] [stdout] test transaction::tests::test_duplicate_input_rejected ... ok [INFO] [stdout] test transaction::tests::test_dust_output_rejected ... ok [INFO] [stdout] test transaction::tests::test_empty_data_weight ... ok [INFO] [stdout] test transaction::tests::test_fee_distribution ... ok [INFO] [stdout] test transaction::tests::test_fraud_proof_merkle_verification ... ok [INFO] [stdout] test transaction::tests::test_generate_decoy_outputs ... ok [INFO] [stdout] test transaction::tests::test_htlc_claim_transaction ... ok [INFO] [stdout] test transaction::tests::test_htlc_create_and_claim ... ok [INFO] [stdout] test transaction::tests::test_htlc_create_transaction ... ok [INFO] [stdout] test transaction::tests::test_htlc_from_bytes_empty ... ok [INFO] [stdout] test transaction::tests::test_htlc_from_bytes_too_short ... ok [INFO] [stdout] test transaction::tests::test_batch_verify_multiple_txs ... ok [INFO] [stdout] test transaction::tests::test_htlc_refund_after_timelock ... ok [INFO] [stdout] test transaction::tests::test_htlc_refund_transaction ... ok [INFO] [stdout] test transaction::tests::test_jitter_timestamp_deterministic ... ok [INFO] [stdout] test transaction::tests::test_htlc_serialization_roundtrip ... ok [INFO] [stdout] test transaction::tests::test_jitter_timestamp_within_bounds ... ok [INFO] [stdout] test transaction::tests::test_locktime_block_height ... ok [INFO] [stdout] test transaction::tests::test_locktime_boundary ... ok [INFO] [stdout] test transaction::tests::test_locktime_timestamp ... ok [INFO] [stdout] test transaction::tests::test_locktime_zero_always_valid ... ok [INFO] [stdout] test transaction::tests::test_output_overflow_rejected ... ok [INFO] [stdout] test transaction::tests::test_rollup_batch_creation ... ok [INFO] [stdout] test transaction::tests::test_rollup_batch_hash_consistency ... ok [INFO] [stdout] test transaction::tests::test_rollup_batch_transaction ... ok [INFO] [stdout] test transaction::tests::test_rollup_fraud_proof_transaction ... ok [INFO] [stdout] test transaction::tests::test_split_amount_deterministic ... ok [INFO] [stdout] test transaction::tests::test_split_amount_different_seeds_different_splits ... ok [INFO] [stdout] test transaction::tests::test_split_amount_single ... ok [INFO] [stdout] test transaction::tests::test_split_amount_sums_correctly ... ok [INFO] [stdout] test transaction::tests::test_split_amount_zero ... ok [INFO] [stdout] test transaction::tests::test_split_denominations_all_standard ... ok [INFO] [stdout] test transaction::tests::test_split_denominations_decomposition ... ok [INFO] [stdout] test transaction::tests::test_batch_verify_single_tx ... ok [INFO] [stdout] test transaction::tests::test_sign_and_verify ... ok [INFO] [stdout] test transaction::tests::test_split_denominations_power_of_ten ... ok [INFO] [stdout] test transaction::tests::test_split_denominations_zero ... ok [INFO] [stdout] test transaction::tests::test_timestamp_window_too_far_future ... ok [INFO] [stdout] test transaction::tests::test_timestamp_window_valid ... ok [INFO] [stdout] test transaction::tests::test_batch_verify_invalid_sig_fails ... ok [INFO] [stdout] test transaction::tests::test_total_output_saturates_on_overflow ... ok [INFO] [stdout] test transaction::tests::test_transaction_display ... ok [INFO] [stdout] test transaction::tests::test_transaction_hash_deterministic ... ok [INFO] [stdout] test transaction::tests::test_tx_limits_constants ... ok [INFO] [stdout] test transaction::tests::test_tx_weight_calculation ... ok [INFO] [stdout] test transaction::tests::test_tx_weight_with_inputs_and_data ... ok [INFO] [stdout] test transaction::tests::test_stealth_transfer_created ... ok [INFO] [stdout] test transaction::tests::test_timestamp_window_zero_always_valid ... ok [INFO] [stdout] test transaction::tests::test_weight_max_data_boundary ... ok [INFO] [stdout] test transaction::tests::test_wtxid_differs_from_txid ... ok [INFO] [stdout] test transaction::tests::test_wtxid_changes_with_output ... ok [INFO] [stdout] test transaction::tests::test_wtxid_deterministic ... ok [INFO] [stdout] test vm::abi_tests::test_abi_decode_address ... ok [INFO] [stdout] test vm::abi_tests::test_abi_decode_bool ... ok [INFO] [stdout] test transaction::tests::test_wtxid_stable_across_resignature ... ok [INFO] [stdout] test vm::abi_tests::test_abi_decode_uint256 ... ok [INFO] [stdout] test vm::abi_tests::test_abi_encode_address ... ok [INFO] [stdout] test vm::abi_tests::test_abi_decode_out_of_bounds ... ok [INFO] [stdout] test transaction::tests::test_zero_amount_output_rejected ... ok [INFO] [stdout] test vm::abi_tests::test_abi_encode_multiple_static ... ok [INFO] [stdout] test vm::abi_tests::test_abi_encode_bool ... ok [INFO] [stdout] test vm::abi_tests::test_abi_type_is_dynamic ... ok [INFO] [stdout] test vm::abi_tests::test_compute_event_topic ... ok [INFO] [stdout] test vm::abi_tests::test_abi_encode_uint256 ... ok [INFO] [stdout] test vm::abi_tests::test_abi_type_canonical_names ... ok [INFO] [stdout] test vm::abi_tests::test_compute_selector_different ... ok [INFO] [stdout] test vm::abi_tests::test_create_indexed_event ... ok [INFO] [stdout] test vm::abi_tests::test_compute_selector ... ok [INFO] [stdout] test vm::abi_tests::test_create_indexed_event_too_many_topics ... ok [INFO] [stdout] test vm::abi_tests::test_round_trip_address ... ok [INFO] [stdout] test vm::abi_tests::test_event_to_log_entry ... ok [INFO] [stdout] test vm::abi_tests::test_round_trip_uint256 ... ok [INFO] [stdout] test vm::abi_tests::test_word_to_u64 ... ok [INFO] [stdout] test vm::tests::test_addition ... ok [INFO] [stdout] test vm::abi_tests::test_word_to_u64_max ... ok [INFO] [stdout] test vm::abi_tests::test_encode_fixed_bytes ... ok [INFO] [stdout] test vm::tests::test_comparison_eq ... ok [INFO] [stdout] test vm::tests::test_contract_address_derivation ... ok [INFO] [stdout] test vm::tests::test_compute_metering ... ok [INFO] [stdout] test vm::tests::test_division_by_zero_reverts ... ok [INFO] [stdout] test vm::tests::test_environment_opcodes ... ok [INFO] [stdout] test vm::tests::test_dup_swap ... ok [INFO] [stdout] test vm::tests::test_jump_if ... ok [INFO] [stdout] test vm::tests::test_log_emission ... ok [INFO] [stdout] test vm::tests::test_invalid_opcode ... ok [INFO] [stdout] test vm::tests::test_memory_load_store ... ok [INFO] [stdout] test vm::tests::test_push_pop ... ok [INFO] [stdout] test vm::tests::test_revert ... ok [INFO] [stdout] test vm::tests::test_sha3_opcode ... ok [INFO] [stdout] test vm::tests::test_out_of_compute ... ok [INFO] [stdout] test vm::tests::test_stack_overflow ... ok [INFO] [stdout] test vm::tests::test_storage_load_store ... ok [INFO] [stdout] test vm::tests::test_subtraction ... ok [INFO] [stdout] test vm::tests::test_sstore_opcode_basic ... ok [INFO] [stdout] test vm::tests::test_bitwise_ops ... ok [INFO] [stdout] test vm::tests::test_subtraction_underflow_reverts ... ok [INFO] [stdout] test vm::tests::test_word_arithmetic ... ok [INFO] [stdout] test vm::tests::test_word_div_by_zero ... ok [INFO] [stdout] test vm::tests::test_word_div_equal ... ok [INFO] [stdout] test vm::tests::test_word_div_large_by_small ... ok [INFO] [stdout] test vm::tests::test_word_div_large_values ... ok [INFO] [stdout] test vm::tests::test_word_div_mod_consistency_large ... ok [INFO] [stdout] test vm::tests::test_word_div_small_values ... ok [INFO] [stdout] test vm::tests::test_word_get_set_bit ... ok [INFO] [stdout] test vm::tests::test_word_mod_by_zero ... ok [INFO] [stdout] test vm::tests::test_word_mod_equal ... ok [INFO] [stdout] test vm::tests::test_word_mod_large_values ... ok [INFO] [stdout] test vm::tests::test_word_mod_small_values ... ok [INFO] [stdout] test vm::tests::test_word_shl_one ... ok [INFO] [stdout] test vm::tests::test_word_div_mod_consistency ... ok [INFO] [stdout] test vm::tests::test_transfer_opcode ... ok [INFO] [stdout] test wallet::tests::test_hd_derive_child_deterministic ... ok [INFO] [stdout] test wallet::tests::test_create_signed_transfer ... ok [INFO] [stdout] test wallet::tests::test_different_keys_different_addresses ... ok [INFO] [stdout] test wallet::tests::test_hd_derive_different_accounts ... ok [INFO] [stdout] test wallet::tests::test_hd_derive_different_indices ... ok [INFO] [stdout] test wallet::tests::test_hd_hardened_derivation_differs_from_non_hardened ... ok [INFO] [stdout] test wallet::tests::test_hd_derive_path_produces_valid_wallets ... ok [INFO] [stdout] test wallet::tests::test_hd_master_deterministic ... ok [INFO] [stdout] test wallet::tests::test_hd_master_different_seeds ... ok [INFO] [stdout] test wallet::tests::test_hd_path_uses_hardened_components ... ok [INFO] [stdout] test wallet::tests::test_hd_derive_path_deterministic ... ok [INFO] [stdout] test wallet::tests::test_hd_stealth_different_accounts_are_independent ... ok [INFO] [stdout] test wallet::tests::test_hd_wallet_can_sign ... ok [INFO] [stdout] test wallet::tests::test_hd_stealth_payment_roundtrip ... ok [INFO] [stdout] test wallet::tests::test_hd_stealth_keys_deterministic_recovery ... ok [INFO] [stdout] test wallet::tests::test_hybrid_wallet_create ... ok [INFO] [stdout] test wallet::tests::test_hybrid_wallet_mainnet_prefix ... ok [INFO] [stdout] test wallet::tests::test_hybrid_wallet_stealth ... ok [INFO] [stdout] test wallet::tests::test_hybrid_wallet_encrypted_save_load ... ok [INFO] [stdout] test wallet::tests::test_mainnet_prefix ... ok [INFO] [stdout] test wallet::tests::test_new_wallet ... ok [INFO] [stdout] test wallet::tests::test_hybrid_wallet_sign_verify ... ok [INFO] [stdout] test wallet::tests::test_wallet_from_secret_key ... ok [INFO] [stdout] test wallet::tests::test_hybrid_wallet_wrong_password_fails ... ok [INFO] [stdout] test wallet::tests::test_save_and_load ... ok [INFO] [stdout] test crypto::tests::test_sphincs_sign_and_verify ... ok [INFO] [stdout] test transaction::tests::test_split_denominations_exact_sum ... ok [INFO] [stdout] test privacy::tests::test_range_proof_max_amount ... ok [INFO] [stdout] test privacy::tests::test_pedersen_commitment ... ok [INFO] [stdout] test privacy::tests::test_ring_signature_full_ring_size_11 ... ok [INFO] [stdout] test attacks::tests::test_attack_commitment_secure ... ok [INFO] [stdout] test privacy::tests::test_range_proof_zero_amount ... ok [INFO] [stdout] test attacks::tests::test_attack_report_generation has been running for over 60 seconds [INFO] [stdout] test attacks::tests::test_run_all_attacks has been running for over 60 seconds [INFO] [stdout] test attacks::tests::test_attack_report_generation ... ok [INFO] [stdout] test privacy::tests::test_range_proof_valid ... ok [INFO] [stdout] test attacks::tests::test_run_all_attacks ... ok [INFO] [stdout] test privacy::tests::test_batch_verify_range_proofs_one_invalid has been running for over 60 seconds [INFO] [stdout] test privacy::tests::test_batch_verify_range_proofs_valid has been running for over 60 seconds [INFO] [stdout] test privacy::tests::test_pedersen_balance_verification has been running for over 60 seconds [INFO] [stdout] test privacy::tests::test_batch_verify_range_proofs_one_invalid ... ok [INFO] [stdout] test privacy::tests::test_batch_verify_range_proofs_valid ... ok [INFO] [stdout] test privacy::tests::test_pedersen_balance_verification ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- attacks::tests::test_attack_timing_constant_time stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'attacks::tests::test_attack_timing_constant_time' (110) panicked at src/attacks.rs:2874:9: [INFO] [stdout] Signature comparison must be constant-time [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5ac535764cca - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5ac535764cca - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5ac535764cca - std[128c3efe2914e152]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x5ac535764cca - <::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x5ac53577bb6a - ::fmt [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x5ac53577bb6a - core[6771d259883166e6]::fmt::write [INFO] [stdout] 6: 0x5ac535769ac2 - std[128c3efe2914e152]::io::default_write_fmt::> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11 [INFO] [stdout] 7: 0x5ac535769ac2 - as std[128c3efe2914e152]::io::Write>::write_fmt [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13 [INFO] [stdout] 8: 0x5ac53574088f - ::print [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x5ac53574088f - std[128c3efe2914e152]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x5ac53575b669 - std[128c3efe2914e152]::panicking::default_hook [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x5ac5354aa27c - core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9 [INFO] [stdout] 12: 0x5ac5354aa27c - test[b137923399915ecf]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5ac53575b8e2 - core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9 [INFO] [stdout] 14: 0x5ac53575b8e2 - std[128c3efe2914e152]::panicking::panic_with_hook [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x5ac53574097a - std[128c3efe2914e152]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x5ac535735839 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x5ac53574171d - __rustc[752cc74e29381ccc]::rust_begin_unwind [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x5ac53577c35c - core[6771d259883166e6]::panicking::panic_fmt [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5ac5350afcc5 - kittycoin::attacks::tests::test_attack_timing_constant_time::hb3f443174ff6e112 [INFO] [stdout] at /opt/rustwide/workdir/src/attacks.rs:2874:9 [INFO] [stdout] 20: 0x5ac5350afcf7 - kittycoin::attacks::tests::test_attack_timing_constant_time::{{closure}}::h32feaceee3879016 [INFO] [stdout] at /opt/rustwide/workdir/src/attacks.rs:2872:42 [INFO] [stdout] 21: 0x5ac535087b96 - core::ops::function::FnOnce::call_once::h645347beae8948ac [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x5ac53549e37b - core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x5ac53549e37b - test[b137923399915ecf]::__rust_begin_short_backtrace::, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18 [INFO] [stdout] 24: 0x5ac5354aad4b - test[b137923399915ecf]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74 [INFO] [stdout] 25: 0x5ac5354aad4b - as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 26: 0x5ac5354aad4b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40 [INFO] [stdout] 27: 0x5ac5354aad4b - std[128c3efe2914e152]::panicking::catch_unwind::, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19 [INFO] [stdout] 28: 0x5ac5354aad4b - std[128c3efe2914e152]::panic::catch_unwind::, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x5ac5354aad4b - test[b137923399915ecf]::run_test_in_process [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27 [INFO] [stdout] 30: 0x5ac5354aad4b - test[b137923399915ecf]::run_test::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43 [INFO] [stdout] 31: 0x5ac5354a51a4 - test[b137923399915ecf]::run_test::{closure#1} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41 [INFO] [stdout] 32: 0x5ac5354a51a4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 33: 0x5ac5354ad952 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 34: 0x5ac5354ad952 - ::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 35: 0x5ac5354ad952 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40 [INFO] [stdout] 36: 0x5ac5354ad952 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19 [INFO] [stdout] 37: 0x5ac5354ad952 - std[128c3efe2914e152]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14 [INFO] [stdout] 38: 0x5ac5354ad952 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 39: 0x5ac5354ad952 - ::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 40: 0x5ac535763cff - + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9 [INFO] [stdout] 41: 0x5ac535763cff - ::new::thread_start [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 42: 0x71fee2be2aa4 - [INFO] [stdout] 43: 0x71fee2c6fa64 - clone [INFO] [stdout] 44: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] attacks::tests::test_attack_timing_constant_time [INFO] [stdout] [INFO] [stdout] test result: FAILED. 854 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 82.08s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--bin kittycoin` [INFO] running `Command { std: "docker" "inspect" "f6ce145011d89bba9d12aaa31f91c515f4d35620eb011d4f710a79b0ecacd128", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f6ce145011d89bba9d12aaa31f91c515f4d35620eb011d4f710a79b0ecacd128", kill_on_drop: false }` [INFO] [stdout] f6ce145011d89bba9d12aaa31f91c515f4d35620eb011d4f710a79b0ecacd128