[INFO] cloning repository https://github.com/rforzani/l1-blockchain [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rforzani/l1-blockchain" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frforzani%2Fl1-blockchain", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frforzani%2Fl1-blockchain'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3850c6a5229b2b1f3bb6a8f71d368d3591bed866 [INFO] testing rforzani/l1-blockchain against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frforzani%2Fl1-blockchain" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/rforzani/l1-blockchain [INFO] finished tweaking git repo https://github.com/rforzani/l1-blockchain [INFO] tweaked toml for git repo https://github.com/rforzani/l1-blockchain written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/rforzani/l1-blockchain on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/rforzani/l1-blockchain already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bcb3d980d91aad88bb6a3e1921fff6a22da5ff3ee8400304fdbc82bc8c8098bb [INFO] running `Command { std: "docker" "start" "-a" "bcb3d980d91aad88bb6a3e1921fff6a22da5ff3ee8400304fdbc82bc8c8098bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bcb3d980d91aad88bb6a3e1921fff6a22da5ff3ee8400304fdbc82bc8c8098bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bcb3d980d91aad88bb6a3e1921fff6a22da5ff3ee8400304fdbc82bc8c8098bb", kill_on_drop: false }` [INFO] [stdout] bcb3d980d91aad88bb6a3e1921fff6a22da5ff3ee8400304fdbc82bc8c8098bb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 57c9fbcbba127f56a0a7366422fd47ee16a599b0f2ef610fa9e715aa0a6ddcbc [INFO] running `Command { std: "docker" "start" "-a" "57c9fbcbba127f56a0a7366422fd47ee16a599b0f2ef610fa9e715aa0a6ddcbc", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling syn v2.0.105 [INFO] [stderr] Compiling thiserror v2.0.16 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling unsigned-varint v0.8.0 [INFO] [stderr] Compiling data-encoding v2.9.0 [INFO] [stderr] Compiling quick-protobuf v0.8.1 [INFO] [stderr] Compiling core2 v0.4.0 [INFO] [stderr] Compiling base-x v0.2.11 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling bs58 v0.5.1 [INFO] [stderr] Compiling arrayref v0.3.9 [INFO] [stderr] Compiling futures-timer v3.0.3 [INFO] [stderr] Compiling unsigned-varint v0.7.2 [INFO] [stderr] Compiling web-time v1.1.0 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling multihash v0.19.3 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling anyhow v1.0.99 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling foldhash v0.1.5 [INFO] [stderr] Compiling cc v1.2.34 [INFO] [stderr] Compiling instant v0.1.13 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling http v1.3.1 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Compiling ipnet v2.11.0 [INFO] [stderr] Compiling nohash-hasher v0.2.0 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling prometheus-client v0.22.3 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling tinyvec v1.10.0 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling snow v0.9.6 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling radium v0.7.0 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling dtoa v1.0.10 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling hex_fmt v0.3.0 [INFO] [stderr] Compiling tap v1.0.1 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Compiling keccak v0.1.5 [INFO] [stderr] Compiling wyz v0.5.1 [INFO] [stderr] Compiling matchit v0.7.3 [INFO] [stderr] Compiling funty v2.0.0 [INFO] [stderr] Compiling time v0.3.41 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling uint v0.9.5 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling blst v0.3.15 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.6 [INFO] [stderr] Compiling socket2 v0.6.0 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling nix v0.26.4 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling threadpool v1.8.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling getrandom_or_panic v0.0.3 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling thiserror-impl v2.0.16 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling data-encoding-macro-internal v0.1.16 [INFO] [stderr] Compiling libp2p-swarm-derive v0.34.2 [INFO] [stderr] Compiling data-encoding-macro v0.1.18 [INFO] [stderr] Compiling multibase v0.9.1 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling enum-as-inner v0.6.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling prometheus-client-derive-encode v0.4.2 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling merlin v3.0.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling netlink-packet-utils v0.5.2 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling netlink-packet-core v0.7.0 [INFO] [stderr] Compiling zerovec v0.11.4 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling netlink-packet-route v0.17.1 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling x25519-dalek v2.0.1 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling serde_with_macros v3.14.0 [INFO] [stderr] Compiling libp2p-identity v0.2.12 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.2 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling asynchronous-codec v0.7.0 [INFO] [stderr] Compiling futures-bounded v0.2.4 [INFO] [stderr] Compiling axum-core v0.4.5 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling quick-protobuf-codec v0.3.1 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling multistream-select v0.13.0 [INFO] [stderr] Compiling rw-stream-sink v0.4.0 [INFO] [stderr] Compiling yamux v0.12.1 [INFO] [stderr] Compiling yamux v0.13.6 [INFO] [stderr] Compiling futures-ticker v0.0.3 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling serde_path_to_error v0.1.17 [INFO] [stderr] Compiling serde_bytes v0.11.17 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling bitvec v1.0.1 [INFO] [stderr] Compiling serde_with v3.14.0 [INFO] [stderr] Compiling schnorrkel v0.11.5 [INFO] [stderr] Compiling multiaddr v0.18.2 [INFO] [stderr] Compiling hickory-proto v0.24.4 [INFO] [stderr] Compiling netlink-sys v0.8.7 [INFO] [stderr] Compiling hyper v1.7.0 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling netlink-proto v0.11.5 [INFO] [stderr] Compiling rtnetlink v0.13.1 [INFO] [stderr] Compiling libp2p-core v0.41.3 [INFO] [stderr] Compiling hyper-util v0.1.16 [INFO] [stderr] Compiling axum v0.7.9 [INFO] [stderr] Compiling if-watch v3.2.1 [INFO] [stderr] Compiling libp2p-swarm v0.44.2 [INFO] [stderr] Compiling libp2p-noise v0.44.0 [INFO] [stderr] Compiling libp2p-yamux v0.45.2 [INFO] [stderr] Compiling libp2p-tcp v0.41.0 [INFO] [stderr] Compiling libp2p-identify v0.44.2 [INFO] [stderr] Compiling libp2p-ping v0.44.1 [INFO] [stderr] Compiling libp2p-allow-block-list v0.3.0 [INFO] [stderr] Compiling libp2p-kad v0.45.3 [INFO] [stderr] Compiling libp2p-mdns v0.45.1 [INFO] [stderr] Compiling libp2p-connection-limits v0.3.1 [INFO] [stderr] Compiling libp2p-gossipsub v0.46.1 [INFO] [stderr] Compiling libp2p v0.53.2 [INFO] [stderr] Compiling l1-blockchain v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `BlsAggregate` [INFO] [stdout] --> src/types.rs:5:49 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{codec::qc_commitment, crypto::bls::{BlsAggregate, BlsSignatureBytes}, pos::registry::ValidatorId, mempool::encrypted::Thresho... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header_bytes` [INFO] [stdout] --> src/chain.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::codec::{header_bytes, header_signing_bytes, qc_commitment}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlockHeader` [INFO] [stdout] --> src/chain.rs:16:27 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::types::{Block, BlockHeader, Event, Hash, Receipt, SlashingEvidence, Address}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mempool::encrypted::ThresholdCiphertext` [INFO] [stdout] --> src/verify.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | mempool::encrypted::ThresholdCiphertext, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header_bytes` [INFO] [stdout] --> src/stf.rs:13:50 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::codec::{tx_enum_bytes, receipt_bytes, header_bytes, tx_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StateKey` [INFO] [stdout] --> src/stf.rs:17:81 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::types::{Block, Receipt, ExecOutcome, Hash, BlockHeader, Transaction, StateKey, Tx, Event, RevealTx, CommitTx, AccessList, Addr... [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AccessList` [INFO] [stdout] --> src/stf.rs:339:24 [INFO] [stdout] | [INFO] [stdout] 339 | use crate::types::{AccessList, StateKey}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlsSignatureBytes` [INFO] [stdout] --> src/node.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::crypto::bls::{verify_qc, BlsSigner, BlsSignatureBytes, BlsAggregate, vote_msg}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mempool::encrypted::ThresholdCiphertext` [INFO] [stdout] --> src/node.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::mempool::encrypted::ThresholdCiphertext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::cmp::Ordering` [INFO] [stdout] --> src/pos/registry.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use core::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/rpc.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::node::Node` [INFO] [stdout] --> src/rpc.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::node::Node; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/p2p.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::upgrade` [INFO] [stdout] --> src/p2p.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | core::upgrade, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> src/p2p.rs:21:37 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::types::{Block, Vote, QC, Hash, SlashingEvidence}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `day` [INFO] [stdout] --> src/rpc.rs:430:14 [INFO] [stdout] | [INFO] [stdout] 430 | let (day, used) = *limiter.book.get(&key).unwrap(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_day` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commitment` [INFO] [stdout] --> src/chain.rs:507:49 [INFO] [stdout] | [INFO] [stdout] 507 | Event::ThresholdShareReceived { commitment, validator_id: _ } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `commitment: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commitment` [INFO] [stdout] --> src/chain.rs:699:49 [INFO] [stdout] | [INFO] [stdout] 699 | Event::ThresholdShareReceived { commitment, validator_id: _ } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `commitment: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/node.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 476 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/node.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 468 | Tx::Commit(c) => { [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 472 | Tx::Avail(a) => { [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 476 | _ => {} [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:622:50 [INFO] [stdout] | [INFO] [stdout] 622 | fn handle_proposal(&mut self, block: &Block, sender_id: ValidatorId) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:712:43 [INFO] [stdout] | [INFO] [stdout] 712 | fn handle_vote(&mut self, vote: Vote, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/node.rs:760:17 [INFO] [stdout] | [INFO] [stdout] 760 | let n = hs.validator_pks.len(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:739:37 [INFO] [stdout] | [INFO] [stdout] 739 | fn handle_qc(&mut self, qc: QC, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:778:49 [INFO] [stdout] | [INFO] [stdout] 778 | fn handle_view_change(&mut self, view: u64, sender_id: ValidatorId, timeout_qc: Option) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/node.rs:1218:13 [INFO] [stdout] | [INFO] [stdout] 1218 | let mut header = crate::types::BlockHeader { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CIPHERTEXT_SIZE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const CIPHERTEXT_SIZE: usize = 48 + 96; // G1 point (48) + G2 signature (96) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `pending_len` is never used [INFO] [stdout] --> src/consensus/mod.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl VoteAggregator { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | fn pending_len(&self) -> usize { self.pending_indices.len() } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hex48` is never used [INFO] [stdout] --> src/rpc.rs:149:4 [INFO] [stdout] | [INFO] [stdout] 149 | fn hex48(s: &str) -> [u8; 48] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/p2p.rs:70:10 [INFO] [stdout] | [INFO] [stdout] 70 | Ping(ping::Event), [INFO] [stdout] | ---- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `P2PEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 70 - Ping(ping::Event), [INFO] [stdout] 70 + Ping(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/p2p.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | Kademlia(kad::Event), [INFO] [stdout] | -------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `P2PEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 71 - Kademlia(kad::Event), [INFO] [stdout] 71 + Kademlia(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `validator_to_peer` and `use_gossip_fallback` are never read [INFO] [stdout] --> src/p2p.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct ConsensusNetwork { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 143 | validator_to_peer: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | use_gossip_fallback: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConsensusNetwork` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `GetConnectedPeers` and `TriggerDiscovery` are never constructed [INFO] [stdout] --> src/p2p.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 156 | enum NetworkCommand { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 160 | GetConnectedPeers, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 161 | TriggerDiscovery, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NetworkCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `target_peers` and `max_peers` are never read [INFO] [stdout] --> src/p2p.rs:481:5 [INFO] [stdout] | [INFO] [stdout] 472 | struct NetworkTask { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 481 | target_peers: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 482 | max_peers: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:763:13 [INFO] [stdout] | [INFO] [stdout] 763 | drop(hs); [INFO] [stdout] | ^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut HotStuff` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 763 - drop(hs); [INFO] [stdout] 763 + let _ = hs; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:796:17 [INFO] [stdout] | [INFO] [stdout] 796 | drop(hotstuff); [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut HotStuff` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 796 - drop(hotstuff); [INFO] [stdout] 796 + let _ = hotstuff; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:849:25 [INFO] [stdout] | [INFO] [stdout] 849 | drop(hs2); [INFO] [stdout] | ^^^^^---^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut HotStuff` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 849 - drop(hs2); [INFO] [stdout] 849 + let _ = hs2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PacemakerConfig` [INFO] [stdout] --> src/bin/localnet_multi.rs:25:18 [INFO] [stdout] | [INFO] [stdout] 25 | node::{Node, PacemakerConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around assigned value [INFO] [stdout] --> src/bin/localnet_multi.rs:206:46 [INFO] [stdout] | [INFO] [stdout] 206 | ... rx_opt = { node2.lock().unwrap().consensus_network().map(|net| net.subscribe()) }; [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 206 - rx_opt = { node2.lock().unwrap().consensus_network().map(|net| net.subscribe()) }; [INFO] [stdout] 206 + rx_opt = node2.lock().unwrap().consensus_network().map(|net| net.subscribe()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around assigned value [INFO] [stdout] --> src/bin/localnet_multi.rs:221:30 [INFO] [stdout] | [INFO] [stdout] 221 | rx_opt = { node2.lock().unwrap().consensus_network().map(|net| net.subscribe()) }; [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 221 - rx_opt = { node2.lock().unwrap().consensus_network().map(|net| net.subscribe()) }; [INFO] [stdout] 221 + rx_opt = node2.lock().unwrap().consensus_network().map(|net| net.subscribe()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlsAggregate` [INFO] [stdout] --> src/types.rs:5:49 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{codec::qc_commitment, crypto::bls::{BlsAggregate, BlsSignatureBytes}, pos::registry::ValidatorId, mempool::encrypted::Thresho... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header_bytes` [INFO] [stdout] --> src/stf.rs:13:50 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::codec::{tx_enum_bytes, receipt_bytes, header_bytes, tx_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StateKey` [INFO] [stdout] --> src/stf.rs:17:81 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::types::{Block, Receipt, ExecOutcome, Hash, BlockHeader, Transaction, StateKey, Tx, Event, RevealTx, CommitTx, AccessList, Addr... [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AccessList` [INFO] [stdout] --> src/stf.rs:339:24 [INFO] [stdout] | [INFO] [stdout] 339 | use crate::types::{AccessList, StateKey}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ThresholdCiphertext` and `ThresholdShare` [INFO] [stdout] --> src/mempool/mod.rs:15:38 [INFO] [stdout] | [INFO] [stdout] 15 | pub use encrypted::{ThresholdEngine, ThresholdCiphertext, ThresholdShare, ThresholdError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlsSignatureBytes` [INFO] [stdout] --> src/node.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::crypto::bls::{verify_qc, BlsSigner, BlsSignatureBytes, BlsAggregate, vote_msg}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mempool::encrypted::ThresholdCiphertext` [INFO] [stdout] --> src/node.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::mempool::encrypted::ThresholdCiphertext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header_bytes` [INFO] [stdout] --> src/chain.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::codec::{header_bytes, header_signing_bytes, qc_commitment}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlockHeader` [INFO] [stdout] --> src/chain.rs:16:27 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::types::{Block, BlockHeader, Event, Hash, Receipt, SlashingEvidence, Address}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mempool::encrypted::ThresholdCiphertext` [INFO] [stdout] --> src/verify.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | mempool::encrypted::ThresholdCiphertext, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::cmp::Ordering` [INFO] [stdout] --> src/pos/registry.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use core::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/p2p.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::upgrade` [INFO] [stdout] --> src/p2p.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | core::upgrade, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> src/p2p.rs:21:37 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::types::{Block, Vote, QC, Hash, SlashingEvidence}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/node.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 476 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/node.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 468 | Tx::Commit(c) => { [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 472 | Tx::Avail(a) => { [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 476 | _ => {} [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:622:50 [INFO] [stdout] | [INFO] [stdout] 622 | fn handle_proposal(&mut self, block: &Block, sender_id: ValidatorId) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:712:43 [INFO] [stdout] | [INFO] [stdout] 712 | fn handle_vote(&mut self, vote: Vote, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/node.rs:760:17 [INFO] [stdout] | [INFO] [stdout] 760 | let n = hs.validator_pks.len(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:739:37 [INFO] [stdout] | [INFO] [stdout] 739 | fn handle_qc(&mut self, qc: QC, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:778:49 [INFO] [stdout] | [INFO] [stdout] 778 | fn handle_view_change(&mut self, view: u64, sender_id: ValidatorId, timeout_qc: Option) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/node.rs:1218:13 [INFO] [stdout] | [INFO] [stdout] 1218 | let mut header = crate::types::BlockHeader { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commitment` [INFO] [stdout] --> src/chain.rs:507:49 [INFO] [stdout] | [INFO] [stdout] 507 | Event::ThresholdShareReceived { commitment, validator_id: _ } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `commitment: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commitment` [INFO] [stdout] --> src/chain.rs:699:49 [INFO] [stdout] | [INFO] [stdout] 699 | Event::ThresholdShareReceived { commitment, validator_id: _ } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `commitment: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hex32` is never used [INFO] [stdout] --> src/main.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn hex32(h: &Hash) -> String { hex::encode(h) } [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Transaction` is never constructed [INFO] [stdout] --> src/types.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Transaction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `transfer` are never used [INFO] [stdout] --> src/types.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl Transaction { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 20 | pub fn new(from: impl Into
, to: impl Into
, amount: u64, nonce: u64, access_list: AccessList) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn transfer(from: impl Into
, to: impl Into
, amount: u64, nonce: u64) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Block` is never constructed [INFO] [stdout] --> src/types.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Block { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new_with_reveals` and `new` are never used [INFO] [stdout] --> src/types.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl Block { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] 43 | pub fn new_with_reveals(txs: Vec, reveals: Vec, mut header: BlockHeader, justify_qc: QC) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn new(txs: Vec, header: BlockHeader, justify_qc: QC) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ExecOutcome` is never used [INFO] [stdout] --> src/types.rs:59:10 [INFO] [stdout] | [INFO] [stdout] 59 | pub enum ExecOutcome { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Receipt` is never constructed [INFO] [stdout] --> src/types.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct Receipt { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pacemaker` is never constructed [INFO] [stdout] --> src/types.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct Pacemaker { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `on_enter_view`, `expired`, `bump_backoff`, and `observe_qc_latency` are never used [INFO] [stdout] --> src/types.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 94 | impl Pacemaker { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 95 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn on_enter_view(&mut self, now_ms: u128) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn expired(&self, now_ms: u128) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn bump_backoff(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn observe_qc_latency(&mut self, sample_ms: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Hash` is never used [INFO] [stdout] --> src/types.rs:162:10 [INFO] [stdout] | [INFO] [stdout] 162 | pub type Hash = [u8; 32]; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vote` is never constructed [INFO] [stdout] --> src/types.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 166 | pub struct Vote { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `QC` is never constructed [INFO] [stdout] --> src/types.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 176 | pub struct QC { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SlashingEvidence` is never used [INFO] [stdout] --> src/types.rs:186:10 [INFO] [stdout] | [INFO] [stdout] 186 | pub enum SlashingEvidence { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HotStuffState` is never constructed [INFO] [stdout] --> src/types.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 201 | pub struct HotStuffState { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockHeader` is never constructed [INFO] [stdout] --> src/types.rs:210:12 [INFO] [stdout] | [INFO] [stdout] 210 | pub struct BlockHeader { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StateKey` is never used [INFO] [stdout] --> src/types.rs:251:10 [INFO] [stdout] | [INFO] [stdout] 251 | pub enum StateKey { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AccessList` is never constructed [INFO] [stdout] --> src/types.rs:267:12 [INFO] [stdout] | [INFO] [stdout] 267 | pub struct AccessList { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `key_order` is never used [INFO] [stdout] --> src/types.rs:273:4 [INFO] [stdout] | [INFO] [stdout] 273 | fn key_order<'a>(k: &'a StateKey) -> (u8, &'a str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `canonicalize`, `for_transfer`, `contains_sorted`, `covers`, `require_sender_balance_rw`, and `require_sender_nonce_rw` are never used [INFO] [stdout] --> src/types.rs:282:12 [INFO] [stdout] | [INFO] [stdout] 280 | impl AccessList { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 281 | /// Sort + dedup in-place to canonical form. [INFO] [stdout] 282 | pub fn canonicalize(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn for_transfer(from: &Address, to: &Address) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn contains_sorted(slice: &[StateKey], key: &StateKey) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn covers(&self, required: &[StateKey]) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn require_sender_balance_rw(&self, sender: &Address) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn require_sender_nonce_rw(&self, sender: &Address) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommitTx` is never constructed [INFO] [stdout] --> src/types.rs:338:12 [INFO] [stdout] | [INFO] [stdout] 338 | pub struct CommitTx { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AvailTx` is never constructed [INFO] [stdout] --> src/types.rs:352:12 [INFO] [stdout] | [INFO] [stdout] 352 | pub struct AvailTx { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RevealTx` is never constructed [INFO] [stdout] --> src/types.rs:367:12 [INFO] [stdout] | [INFO] [stdout] 367 | pub struct RevealTx { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Tx` is never used [INFO] [stdout] --> src/types.rs:375:10 [INFO] [stdout] | [INFO] [stdout] 375 | pub enum Tx { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommitmentMeta` is never constructed [INFO] [stdout] --> src/types.rs:381:12 [INFO] [stdout] | [INFO] [stdout] 381 | pub struct CommitmentMeta { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Event` is never used [INFO] [stdout] --> src/types.rs:393:10 [INFO] [stdout] | [INFO] [stdout] 393 | pub enum Event { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAIN_ID` is never used [INFO] [stdout] --> src/state.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const CHAIN_ID: u64 = 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COMMIT_FEE` is never used [INFO] [stdout] --> src/state.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const COMMIT_FEE: u64 = 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REVEAL_WINDOW` is never used [INFO] [stdout] --> src/state.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const REVEAL_WINDOW: u64 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DECRYPTION_DELAY` is never used [INFO] [stdout] --> src/state.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const DECRYPTION_DELAY: u64 = 1; // blocks after commit before reveals may start [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ZERO_ADDRESS` is never used [INFO] [stdout] --> src/state.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const ZERO_ADDRESS: &str = "0x0000000000000000000000000000000000000000"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TREASURY_ADDRESS` is never used [INFO] [stdout] --> src/state.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const TREASURY_ADDRESS: &str = "0x0000000000000000000000000000000000000001"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AVAIL_FEE` is never used [INFO] [stdout] --> src/state.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const AVAIL_FEE: u64 = 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_AVAILS_PER_BLOCK` is never used [INFO] [stdout] --> src/state.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const MAX_AVAILS_PER_BLOCK: usize = 50_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_REVEALS_PER_BLOCK` is never used [INFO] [stdout] --> src/state.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const MAX_REVEALS_PER_BLOCK: usize = 50_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PENDING_COMMITS_PER_ACCOUNT` is never used [INFO] [stdout] --> src/state.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const MAX_PENDING_COMMITS_PER_ACCOUNT: usize = 1_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_AL_READS` is never used [INFO] [stdout] --> src/state.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub const MAX_AL_READS: usize = 256; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_AL_WRITES` is never used [INFO] [stdout] --> src/state.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const MAX_AL_WRITES: usize = 256; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Nonces` is never used [INFO] [stdout] --> src/state.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | pub type Nonces = HashMap; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Commitments` is never used [INFO] [stdout] --> src/state.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | pub type Commitments = HashMap; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Available` is never used [INFO] [stdout] --> src/state.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub type Available = HashSet; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TxError` is never used [INFO] [stdout] --> src/stf.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum TxError { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BlockError` is never used [INFO] [stdout] --> src/stf.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum BlockError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockResult` is never constructed [INFO] [stdout] --> src/stf.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct BlockResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BodyResult` is never constructed [INFO] [stdout] --> src/stf.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct BodyResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_transaction` is never used [INFO] [stdout] --> src/stf.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn process_transaction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_avail` is never used [INFO] [stdout] --> src/stf.rs:234:8 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn process_avail( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pending_for_owner` is never used [INFO] [stdout] --> src/stf.rs:321:4 [INFO] [stdout] | [INFO] [stdout] 321 | fn pending_for_owner(commitments: &Commitments, owner: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_commit` is never used [INFO] [stdout] --> src/stf.rs:327:8 [INFO] [stdout] | [INFO] [stdout] 327 | pub fn process_commit( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_reveal` is never used [INFO] [stdout] --> src/stf.rs:459:4 [INFO] [stdout] | [INFO] [stdout] 459 | fn process_reveal( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_block` is never used [INFO] [stdout] --> src/stf.rs:527:8 [INFO] [stdout] | [INFO] [stdout] 527 | pub fn process_block( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DOM_ORDER` is never used [INFO] [stdout] --> src/crypto/mod.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const DOM_ORDER: &[u8] = b"ORDER"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COMMIT_DOMAIN` is never used [INFO] [stdout] --> src/crypto/mod.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const COMMIT_DOMAIN: &[u8] = b"CAR_COMMIT_V1"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REVEAL_PAIR_DOMAIN` is never used [INFO] [stdout] --> src/crypto/mod.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const REVEAL_PAIR_DOMAIN: &[u8] = b"CAR_REVEAL_PAIR_V1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIGN_COMMIT_DOMAIN` is never used [INFO] [stdout] --> src/crypto/mod.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const SIGN_COMMIT_DOMAIN: &[u8] = b"SIGN_COMMIT_V1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIGN_AVAIL_DOMAIN` is never used [INFO] [stdout] --> src/crypto/mod.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const SIGN_AVAIL_DOMAIN: &[u8] = b"SIGN_AVAIL_V1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_hex_addr` is never used [INFO] [stdout] --> src/crypto/mod.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn is_hex_addr(s: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `addr_from_pubkey` is never used [INFO] [stdout] --> src/crypto/mod.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn addr_from_pubkey(pubkey: &[u8; 32]) -> [u8; 20] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `addr_hex` is never used [INFO] [stdout] --> src/crypto/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn addr_hex(addr: &[u8; 20]) -> Address { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_ed25519` is never used [INFO] [stdout] --> src/crypto/mod.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn verify_ed25519(pubkey: &[u8; 32], sig_bytes: &[u8; 64], msg: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_signing_preimage` is never used [INFO] [stdout] --> src/crypto/mod.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn commit_signing_preimage( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `avail_signing_preimage` is never used [INFO] [stdout] --> src/crypto/mod.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn avail_signing_preimage( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commitment_hash` is never used [INFO] [stdout] --> src/crypto/mod.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn commitment_hash( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reveal_order_key` is never used [INFO] [stdout] --> src/crypto/mod.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn reveal_order_key(commitment: &Hash, randomness: &Hash) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_reveal_pair` is never used [INFO] [stdout] --> src/crypto/mod.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn hash_reveal_pair(commitment: &Hash, tx_hash: &Hash) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash` is never used [INFO] [stdout] --> src/crypto/mod.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | fn hash(bytes: &[u8]) -> Hash { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_bytes_sha256` is never used [INFO] [stdout] --> src/crypto/mod.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn hash_bytes_sha256(data: &[u8]) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parent_hash` is never used [INFO] [stdout] --> src/crypto/mod.rs:140:4 [INFO] [stdout] | [INFO] [stdout] 140 | fn parent_hash(left: &Hash, right: &Hash) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merkle_root` is never used [INFO] [stdout] --> src/crypto/mod.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn merkle_root(leaves: &[Hash]) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VRF_OUTPUT_BYTES` is never used [INFO] [stdout] --> src/crypto/vrf.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub const VRF_OUTPUT_BYTES: usize = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VrfOutput` is never used [INFO] [stdout] --> src/crypto/vrf.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub type VrfOutput = [u8; VRF_OUTPUT_BYTES]; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VrfPreOut` is never used [INFO] [stdout] --> src/crypto/vrf.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type VrfPreOut = [u8; VRF_OUTPUT_BYTES]; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VrfProof` is never used [INFO] [stdout] --> src/crypto/vrf.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub type VrfProof = Vec; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VrfPubkey` is never constructed [INFO] [stdout] --> src/crypto/vrf.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct VrfPubkey(pub [u8; 32]); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `VrfSigner` is never used [INFO] [stdout] --> src/crypto/vrf.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub trait VrfSigner { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `VrfVerifier` is never used [INFO] [stdout] --> src/crypto/vrf.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub trait VrfVerifier { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SchnorrkelVrfSigner` is never constructed [INFO] [stdout] --> src/crypto/vrf.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct SchnorrkelVrfSigner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SchnorrkelVrf` is never constructed [INFO] [stdout] --> src/crypto/vrf.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct SchnorrkelVrf; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_deterministic_seed` and `public_bytes` are never used [INFO] [stdout] --> src/crypto/vrf.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl SchnorrkelVrfSigner { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 32 | pub fn from_deterministic_seed(seed32: [u8; 32]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn public_bytes(&self) -> [u8; 32] { self.kp.public.to_bytes() } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_vrf_msg` is never used [INFO] [stdout] --> src/crypto/vrf.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn build_vrf_msg(epoch_seed: &[u8; 32], bundle_start_slot: u64, proposer_id: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vrf_eligible` is never used [INFO] [stdout] --> src/crypto/vrf.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn vrf_eligible(stake: u128, total: u128, out: &VrfOutput, tau: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLS_DST` is never used [INFO] [stdout] --> src/crypto/bls.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const BLS_DST: &[u8] = b"VORTEX-BLS-QUORUM-v1"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VOTE_MSG_VERSION` is never used [INFO] [stdout] --> src/crypto/bls.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const VOTE_MSG_VERSION: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlsSignatureBytes` is never constructed [INFO] [stdout] --> src/crypto/bls.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct BlsSignatureBytes(#[serde_as(as = "[_; 96]")] pub [u8; 96]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SignerBitmap` is never used [INFO] [stdout] --> src/crypto/bls.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | pub type SignerBitmap = BitVec; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlsAggregate` is never constructed [INFO] [stdout] --> src/crypto/bls.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct BlsAggregate { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, `finalize`, `clear`, `len`, and `is_empty` are never used [INFO] [stdout] --> src/crypto/bls.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl BlsAggregate { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 50 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn push(&mut self, sig_bytes: &[u8; 96]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn finalize(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vote_msg` is never used [INFO] [stdout] --> src/crypto/bls.rs:107:8 [INFO] [stdout] | [INFO] [stdout] 107 | pub fn vote_msg(block_id: &[u8], view: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlsSigner` is never constructed [INFO] [stdout] --> src/crypto/bls.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 122 | pub struct BlsSigner(mpk::SecretKey); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_sk_bytes`, `public_key_bytes`, and `sign` are never used [INFO] [stdout] --> src/crypto/bls.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 124 | impl BlsSigner { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 125 | /// Create from 32-byte secret key. [INFO] [stdout] 126 | pub fn from_sk_bytes(sk: &[u8; 32]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn public_key_bytes(&self) -> [u8; 48] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn sign(&self, msg: &[u8]) -> BlsSignatureBytes { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_sig` is never used [INFO] [stdout] --> src/crypto/bls.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn verify_sig(pk_bytes: &[u8; 48], msg: &[u8], sig: &BlsSignatureBytes) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fast_aggregate_verify` is never used [INFO] [stdout] --> src/crypto/bls.rs:164:8 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn fast_aggregate_verify(sig: &BlsSignatureBytes, msg: &[u8], signer_pks: &[[u8; 48]]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_signer_pks_from_bitmap` is never used [INFO] [stdout] --> src/crypto/bls.rs:191:8 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn collect_signer_pks_from_bitmap( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_quorum` is never used [INFO] [stdout] --> src/crypto/bls.rs:208:8 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn has_quorum(n: usize, bitmap: &SignerBitmap) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BlsQcError` is never used [INFO] [stdout] --> src/crypto/bls.rs:217:10 [INFO] [stdout] | [INFO] [stdout] 217 | pub enum BlsQcError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_qc` is never used [INFO] [stdout] --> src/crypto/bls.rs:227:8 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn verify_qc( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BASE_FEE_PER_TX` is never used [INFO] [stdout] --> src/gas.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub const BASE_FEE_PER_TX: u64 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CODEC_VERSION` is never used [INFO] [stdout] --> src/codec.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const CODEC_VERSION: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DOM_TX` is never used [INFO] [stdout] --> src/codec.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const DOM_TX: &[u8] = b"TX"; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DOM_RCPT` is never used [INFO] [stdout] --> src/codec.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const DOM_RCPT: &[u8] = b"RCPT"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DOM_HDR` is never used [INFO] [stdout] --> src/codec.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const DOM_HDR: &[u8] = b"HDR"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAG_COMMIT` is never used [INFO] [stdout] --> src/codec.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const TAG_COMMIT: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAG_AVAIL` is never used [INFO] [stdout] --> src/codec.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const TAG_AVAIL: u8 = 2; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `QC_COMMIT_VERSION` is never used [INFO] [stdout] --> src/codec.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const QC_COMMIT_VERSION: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_bitmap_lsb0` is never used [INFO] [stdout] --> src/codec.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn encode_bitmap_lsb0(bitmap: &SignerBitmap) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `qc_commitment` is never used [INFO] [stdout] --> src/codec.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn qc_commitment( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `put_u64` is never used [INFO] [stdout] --> src/codec.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn put_u64(dst: &mut Vec, x: u64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `put_u32` is never used [INFO] [stdout] --> src/codec.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn put_u32(v: &mut Vec, x: u32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `put_str` is never used [INFO] [stdout] --> src/codec.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn put_str(dst: &mut Vec, s: &str) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string_bytes` is never used [INFO] [stdout] --> src/codec.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn string_bytes(s: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `access_list_bytes` is never used [INFO] [stdout] --> src/codec.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn access_list_bytes(al: &AccessList) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tx_bytes` is never used [INFO] [stdout] --> src/codec.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn tx_bytes(tx: &Transaction) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receipt_bytes` is never used [INFO] [stdout] --> src/codec.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn receipt_bytes(r: &Receipt) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `put_access_list` is never used [INFO] [stdout] --> src/codec.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | fn put_access_list(v: &mut Vec, al: &AccessList) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `header_signing_bytes` is never used [INFO] [stdout] --> src/codec.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | pub fn header_signing_bytes(h: &BlockHeader) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `header_bytes` is never used [INFO] [stdout] --> src/codec.rs:191:8 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn header_bytes(h: &BlockHeader) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `header_id` is never used [INFO] [stdout] --> src/codec.rs:225:8 [INFO] [stdout] | [INFO] [stdout] 225 | pub fn header_id(h: &BlockHeader) -> Hash { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `put_bytes` is never used [INFO] [stdout] --> src/codec.rs:233:8 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn put_bytes(v: &mut Vec, bytes: &[u8]) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tx_enum_bytes` is never used [INFO] [stdout] --> src/codec.rs:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn tx_enum_bytes(tx: &Tx) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MempoolConfig` is never constructed [INFO] [stdout] --> src/mempool/mod.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct MempoolConfig { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TxId` is never constructed [INFO] [stdout] --> src/mempool/mod.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct TxId(pub [u8; 32]); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommitmentId` is never constructed [INFO] [stdout] --> src/mempool/mod.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct CommitmentId(pub [u8; 32]); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BalanceView` is never used [INFO] [stdout] --> src/mempool/mod.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | pub trait BalanceView { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AdmissionError` is never used [INFO] [stdout] --> src/mempool/mod.rs:39:10 [INFO] [stdout] | [INFO] [stdout] 39 | pub enum AdmissionError { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_affordable` is never used [INFO] [stdout] --> src/mempool/mod.rs:54:4 [INFO] [stdout] | [INFO] [stdout] 54 | fn ensure_affordable( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockCandidate` is never constructed [INFO] [stdout] --> src/mempool/mod.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub struct BlockCandidate { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockSelectionLimits` is never constructed [INFO] [stdout] --> src/mempool/mod.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct BlockSelectionLimits { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `StateView` is never used [INFO] [stdout] --> src/mempool/mod.rs:89:11 [INFO] [stdout] | [INFO] [stdout] 89 | pub trait StateView: Send + Sync { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SelectError` is never used [INFO] [stdout] --> src/mempool/mod.rs:113:10 [INFO] [stdout] | [INFO] [stdout] 113 | pub enum SelectError { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Mempool` is never used [INFO] [stdout] --> src/mempool/mod.rs:121:11 [INFO] [stdout] | [INFO] [stdout] 121 | pub trait Mempool: Send + Sync { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MempoolImpl` is never constructed [INFO] [stdout] --> src/mempool/mod.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 163 | pub struct MempoolImpl { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `QueuedItem` is never constructed [INFO] [stdout] --> src/mempool/mod.rs:171:12 [INFO] [stdout] | [INFO] [stdout] 171 | pub struct QueuedItem<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/mempool/mod.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 176 | impl MempoolImpl { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 177 | pub fn new(config: MempoolConfig) -> Arc { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn pending_commits_for_sender(&self, sender: &str) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn config(&self) -> &MempoolConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn debug_read( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | pub fn debug_write( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn revalidate(&self, mut keep: F) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | pub fn revalidate_affordability(&self, view: &dyn BalanceView, fs: &FeeState) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommitQueueItem` is never constructed [INFO] [stdout] --> src/mempool/queues.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct CommitQueueItem { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AvailQueueItem` is never constructed [INFO] [stdout] --> src/mempool/queues.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct AvailQueueItem { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RevealQueueItem` is never constructed [INFO] [stdout] --> src/mempool/queues.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct RevealQueueItem { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EvictKind` is never used [INFO] [stdout] --> src/mempool/queues.rs:50:10 [INFO] [stdout] | [INFO] [stdout] 50 | pub enum EvictKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommitQueue` is never constructed [INFO] [stdout] --> src/mempool/queues.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct CommitQueue { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AvailQueue` is never constructed [INFO] [stdout] --> src/mempool/queues.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct AvailQueue { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RevealQueue` is never constructed [INFO] [stdout] --> src/mempool/queues.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct RevealQueue { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `txid_from` is never used [INFO] [stdout] --> src/mempool/queues.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn txid_from(bytes: &[u8]) -> TxId { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Queues` is never constructed [INFO] [stdout] --> src/mempool/queues.rs:100:12 [INFO] [stdout] | [INFO] [stdout] 100 | pub struct Queues { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `key_for_fee_order` is never used [INFO] [stdout] --> src/mempool/queues.rs:107:8 [INFO] [stdout] | [INFO] [stdout] 106 | impl CommitQueueItem { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 107 | fn key_for_fee_order(&self) -> (i128, Address) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `key_for_fee_order` is never used [INFO] [stdout] --> src/mempool/queues.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 111 | impl AvailQueueItem { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 112 | fn key_for_fee_order(&self) -> (i128, Address) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `key_for_fee_order` is never used [INFO] [stdout] --> src/mempool/queues.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 116 | impl RevealQueueItem { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 117 | fn key_for_fee_order(&self) -> (i128, Address, u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `precheck_commit`, `insert_commit_minimal`, and `retain_by` are never used [INFO] [stdout] --> src/mempool/queues.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 121 | impl CommitQueue { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 122 | fn precheck_commit(&self, c: &CommitTx, max_pending: u32) -> Result<(), AdmissionError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn insert_commit_minimal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn retain_by(&mut self, mut keep: F) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `precheck_avail`, `insert_avail_minimal`, and `retain_by` are never used [INFO] [stdout] --> src/mempool/queues.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 213 | impl AvailQueue { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 214 | fn precheck_avail(&self, a: &AvailTx) -> Result<(), AdmissionError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | pub fn insert_avail_minimal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn retain_by(&mut self, mut keep: F) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `precheck_reveal_locked`, `insert_reveal_minimal`, and `retain_by` are never used [INFO] [stdout] --> src/mempool/queues.rs:271:12 [INFO] [stdout] | [INFO] [stdout] 270 | impl RevealQueue { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 271 | pub fn precheck_reveal_locked( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | pub fn insert_reveal_minimal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn retain_by(&mut self, mut keep: F) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `evict_any` is never used [INFO] [stdout] --> src/mempool/queues.rs:344:12 [INFO] [stdout] | [INFO] [stdout] 343 | impl Queues { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 344 | pub fn evict_any(&mut self, id: &crate::mempool::TxId) -> EvictKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `purge_older_than` and `evict_by_id` are never used [INFO] [stdout] --> src/mempool/queues.rs:358:12 [INFO] [stdout] | [INFO] [stdout] 357 | impl CommitQueue { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 358 | pub fn purge_older_than(&mut self, current_height: u64, ttl_blocks: u32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 372 | pub fn evict_by_id(&mut self, id: &crate::mempool::TxId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `purge_older_than` and `evict_by_id` are never used [INFO] [stdout] --> src/mempool/queues.rs:397:12 [INFO] [stdout] | [INFO] [stdout] 396 | impl AvailQueue { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 397 | pub fn purge_older_than(&mut self, current_height: u64, ttl_blocks: u32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 411 | pub fn evict_by_id(&mut self, id: &crate::mempool::TxId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `evict_by_id` and `purge_older_than` are never used [INFO] [stdout] --> src/mempool/queues.rs:431:12 [INFO] [stdout] | [INFO] [stdout] 429 | impl RevealQueue { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 430 | /// Remove a reveal by TxId from all indices. [INFO] [stdout] 431 | pub fn evict_by_id(&mut self, id: &crate::mempool::TxId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 448 | pub fn purge_older_than(&mut self, current_height: u64, window_blocks: u32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Batch` is never constructed [INFO] [stdout] --> src/mempool/workers.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Batch { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/mempool/workers.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Batch { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn new(txs: Vec, parents: Vec, producer_id: ValidatorId, signature: [u8; 64]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BatchStore` is never constructed [INFO] [stdout] --> src/mempool/workers.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct BatchStore { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, `get`, `children_of`, and `frontier` are never used [INFO] [stdout] --> src/mempool/workers.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl BatchStore { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 53 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn insert(&self, batch: Batch) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn get(&self, id: &Hash) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn children_of(&self, id: &Hash) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn frontier(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WorkerHandle` is never constructed [INFO] [stdout] --> src/mempool/workers.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | pub struct WorkerHandle { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spawn_workers` is never used [INFO] [stdout] --> src/mempool/workers.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn spawn_workers( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TE_DOMAIN_ENCRYPT` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const TE_DOMAIN_ENCRYPT: &[u8] = b"VORTEX-THRESHOLD-ENCRYPT-V1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TE_DOMAIN_SHARE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const TE_DOMAIN_SHARE: &[u8] = b"VORTEX-THRESHOLD-SHARE-V1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TE_DOMAIN_DERIVE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const TE_DOMAIN_DERIVE: &[u8] = b"VORTEX-THRESHOLD-DERIVE-V1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CIPHERTEXT_SIZE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const CIPHERTEXT_SIZE: usize = 48 + 96; // G1 point (48) + G2 signature (96) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SHARE_SIZE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:29:7 [INFO] [stdout] | [INFO] [stdout] 29 | const SHARE_SIZE: usize = 48; // G1 element (validator's DH share) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROOF_SIZE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | const PROOF_SIZE: usize = 96; // G2 signature proof [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PUBLIC_KEY_SIZE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:31:7 [INFO] [stdout] | [INFO] [stdout] 31 | const PUBLIC_KEY_SIZE: usize = 48; // G1 element [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ThresholdError` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum ThresholdError { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ThresholdPublicKey` is never constructed [INFO] [stdout] --> src/mempool/encrypted.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | pub struct ThresholdPublicKey { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `verify` and `domain_hash` are never used [INFO] [stdout] --> src/mempool/encrypted.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 75 | impl ThresholdPublicKey { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] 76 | /// Verify this public key has valid BLS12-381 structure [INFO] [stdout] 77 | pub fn verify(&self) -> Result<(), ThresholdError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn domain_hash(&self) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ThresholdCiphertext` is never constructed [INFO] [stdout] --> src/mempool/encrypted.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 96 | pub struct ThresholdCiphertext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `size`, `verify`, and `commitment_hash` are never used [INFO] [stdout] --> src/mempool/encrypted.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 109 | impl ThresholdCiphertext { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 110 | /// Total size of this ciphertext in bytes [INFO] [stdout] 111 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn verify(&self) -> Result<(), ThresholdError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn commitment_hash(&self) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ThresholdShare` is never constructed [INFO] [stdout] --> src/mempool/encrypted.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 144 | pub struct ThresholdShare { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `verify` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:159:12 [INFO] [stdout] | [INFO] [stdout] 157 | impl ThresholdShare { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 158 | /// Verify this share has valid cryptographic structure [INFO] [stdout] 159 | pub fn verify(&self, ciphertext: &ThresholdCiphertext) -> Result<(), ThresholdError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ThresholdEngine` is never constructed [INFO] [stdout] --> src/mempool/encrypted.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 176 | pub struct ThresholdEngine { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/mempool/encrypted.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 183 | impl ThresholdEngine { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 184 | /// Create new threshold engine [INFO] [stdout] 185 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn update_public_key(&mut self, pk: ThresholdPublicKey) -> Result<(), ThresholdError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn add_validator_share(&mut self, validator_id: ValidatorId, share: [u8; 32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn remove_validator_share(&mut self, validator_id: ValidatorId) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn encrypt(&self, data: &[u8], epoch: u64) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | pub fn generate_share( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 316 | pub fn decrypt( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 355 | pub fn can_decrypt(&self, shares: &[ThresholdShare]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 365 | fn reconstruct_master_secret(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 439 | fn generate_ephemeral_key( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 493 | fn aes_encrypt( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 526 | fn aes_decrypt( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 561 | fn build_proof_message(&self, validator_id: ValidatorId, epoch: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 568 | fn aggregate_shares( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_threshold_public_key` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:711:12 [INFO] [stdout] | [INFO] [stdout] 711 | pub fn generate_threshold_public_key( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_private_shares` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:734:12 [INFO] [stdout] | [INFO] [stdout] 734 | pub fn generate_private_shares( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_share_consistency` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:900:12 [INFO] [stdout] | [INFO] [stdout] 900 | pub fn verify_share_consistency( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VoteAggregator` is never constructed [INFO] [stdout] --> src/consensus/mod.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct VoteAggregator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add`, `add_pending`, `pending_len`, and `drain_pending_with_agg_verify` are never used [INFO] [stdout] --> src/consensus/mod.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl VoteAggregator { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 25 | fn new(n: usize, block_id: Hash, view: u64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | fn add(&mut self, voter_idx: usize, sig: &BlsSignatureBytes) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn add_pending(&mut self, voter_idx: usize, sig: &BlsSignatureBytes) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn pending_len(&self) -> usize { self.pending_indices.len() } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 52 | fn drain_pending_with_agg_verify(&mut self, validator_pks: &[[u8; 48]]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HotStuff` is never constructed [INFO] [stdout] --> src/consensus/mod.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 102 | pub struct HotStuff { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Error` is never used [INFO] [stdout] --> src/consensus/mod.rs:116:10 [INFO] [stdout] | [INFO] [stdout] 116 | pub enum Error { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BlockStore` is never used [INFO] [stdout] --> src/consensus/mod.rs:123:11 [INFO] [stdout] | [INFO] [stdout] 123 | pub trait BlockStore { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `safe_to_vote` is never used [INFO] [stdout] --> src/consensus/mod.rs:131:4 [INFO] [stdout] | [INFO] [stdout] 131 | fn safe_to_vote( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/consensus/mod.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 149 | impl HotStuff { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 150 | pub fn new(state: HotStuffState, validator_pks: Vec<[u8;48]>, validator_id: ValidatorId, bls_signer: Option) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn observe_block_header(&mut self, header: &BlockHeader) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn debug_aggregators(&self) -> Vec<(u64, Hash, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn debug_parent_index_len(&self) -> usize { self.parent_index.len() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn debug_parent_index_sample(&self, limit: usize) -> Vec<(Hash, Hash)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn on_new_slot(&mut self, now_ms: u128) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn on_block_proposal(&mut self, block: &Block, _now_ms: u128) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn on_qc( [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn maybe_propose( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn maybe_vote(&mut self, store: &S, block: &Block) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | pub fn on_vote(&mut self, vote: Vote) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 409 | pub fn drain_evidence(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 417 | pub fn maybe_vote_self(&mut self, block: &Block) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | pub fn on_qc_self(&mut self, qc: QC, now_ms: u128) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_SLOT_MS` is never used [INFO] [stdout] --> src/consensus/dev_loop.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const DEFAULT_SLOT_MS: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_LIMITS` is never used [INFO] [stdout] --> src/consensus/dev_loop.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const DEFAULT_LIMITS: BlockSelectionLimits = BlockSelectionLimits { max_commits: 1024, max_avails: 1024, max_reveals: 1024 }; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DevLoopConfig` is never constructed [INFO] [stdout] --> src/consensus/dev_loop.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct DevLoopConfig { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DevLoop` is never constructed [INFO] [stdout] --> src/consensus/dev_loop.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct DevLoop { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `DevNode` is never used [INFO] [stdout] --> src/consensus/dev_loop.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait DevNode { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `tick_once`, `run_for_slots`, `run_until_height`, and `run_for_duration` are never used [INFO] [stdout] --> src/consensus/dev_loop.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl DevLoop where N: DevNode { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 26 | pub fn new(node: N, cfg: DevLoopConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn tick_once(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn run_for_slots(&mut self, n: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn run_until_height(&mut self, h: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn run_for_duration(&mut self, millis: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeeParams` is never constructed [INFO] [stdout] --> src/fees.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct FeeParams { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FEE_PARAMS` is never used [INFO] [stdout] --> src/fees.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | pub const FEE_PARAMS: FeeParams = FeeParams { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeeState` is never constructed [INFO] [stdout] --> src/fees.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct FeeState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_defaults` is never used [INFO] [stdout] --> src/fees.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 57 | impl FeeState { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 58 | pub fn from_defaults() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Lane` is never used [INFO] [stdout] --> src/fees.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | pub enum Lane { Exec, Commit, Avail } [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lane_base` is never used [INFO] [stdout] --> src/fees.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn lane_base(f: &FeeState, lane: Lane) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeeSplitBps` is never constructed [INFO] [stdout] --> src/fees.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct FeeSplitBps { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FEE_SPLIT` is never used [INFO] [stdout] --> src/fees.rs:85:11 [INFO] [stdout] | [INFO] [stdout] 85 | pub const FEE_SPLIT: FeeSplitBps = FeeSplitBps { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_amount` is never used [INFO] [stdout] --> src/fees.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn split_amount(amount: u64) -> (u64 /*burn*/, u64 /*proposer*/, u64 /*treasury*/) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_commit_base` is never used [INFO] [stdout] --> src/fees.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn update_commit_base(prev_base: u64, commits_used: u32) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_exec_base` is never used [INFO] [stdout] --> src/fees.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn update_exec_base( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PendingVoteRetry` is never constructed [INFO] [stdout] --> src/node.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | struct PendingVoteRetry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StateBalanceView` is never constructed [INFO] [stdout] --> src/node.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct StateBalanceView<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SelectedIds` is never constructed [INFO] [stdout] --> src/node.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct SelectedIds { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BuiltBlock` is never constructed [INFO] [stdout] --> src/node.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct BuiltBlock { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ProduceError` is never used [INFO] [stdout] --> src/node.rs:58:10 [INFO] [stdout] | [INFO] [stdout] 58 | pub enum ProduceError { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PacemakerConfig` is never constructed [INFO] [stdout] --> src/node.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct PacemakerConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConsensusConfig` is never constructed [INFO] [stdout] --> src/node.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct ConsensusConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/node.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NodeStateView` is never constructed [INFO] [stdout] --> src/node.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | struct NodeStateView<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/node.rs:163:19 [INFO] [stdout] | [INFO] [stdout] 160 | impl Node { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 163 | pub(crate) fn leader_for_view(&self, view: u64) -> ValidatorId { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | fn now_ms() -> u128 { (Self::now_ts() as u128) * 1000 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 170 | [INFO] [stdout] 171 | fn schedule_vote_retry(&mut self, vote: Vote, leader_id: ValidatorId, delay_ms: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn process_pending_vote_retries(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn new(mempool: Arc, signer: SigningKey) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn new_with_consensus( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 327 | fn collect_active_bls_pubkeys_in_order(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn resolve_my_validator_id(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 356 | fn load_best_qc_from_store(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 360 | pub fn align_clock_for_test(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | pub fn set_vrf_signer(&mut self, vrf: SchnorrkelVrfSigner) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 374 | pub fn with_vrf_signer(mut self, vrf: SchnorrkelVrfSigner) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 380 | pub fn set_consensus_network(&mut self, network: ConsensusNetwork) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 385 | pub fn consensus_network(&self) -> Option<&ConsensusNetwork> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 390 | pub fn hotstuff_mut(&mut self) -> Option<&mut HotStuff> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 395 | pub fn hotstuff(&self) -> Option<&HotStuff> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 400 | pub fn set_hotstuff(&mut self, hotstuff: HotStuff) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 405 | fn apply_committed_block(&mut self, commit_id: Hash) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 497 | fn try_apply_pending_commits(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 514 | pub fn process_consensus_messages(&mut self) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 577 | pub fn process_consensus_message(&mut self, msg: crate::p2p::ConsensusMessage) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 622 | fn handle_proposal(&mut self, block: &Block, sender_id: ValidatorId) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 712 | fn handle_vote(&mut self, vote: Vote, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 739 | fn handle_qc(&mut self, qc: QC, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 778 | fn handle_view_change(&mut self, view: u64, sender_id: ValidatorId, timeout_qc: Option) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 807 | pub fn check_pacemaker_timeout(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 892 | fn my_vrf_pubkey(&self) -> [u8; 32] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 899 | pub fn install_self_as_genesis_validator(&mut self, id: ValidatorId, stake: u128) -> BlsSigner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 906 | pub fn install_self_as_genesis_validator_with_key(&mut self, id: ValidatorId, stake: u128, bls_key: &[u8; 32]) -> BlsSigner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 931 | pub fn init_with_shared_validator_set(&mut self, validators: Vec, my_bls_signer: BlsSigner) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 945 | fn now_ts() -> u64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 951 | fn my_validator_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 960 | fn derive_block_randomness(&self, next_height: u64, slot: u64) -> [u8; 32] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 970 | pub fn height(&self) -> u64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 974 | pub fn tip_hash(&self) -> Hash { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 978 | pub fn proposer_pubkey(&self) -> [u8; 32] { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 982 | pub fn fee_state(&self) -> &FeeState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 987 | pub fn current_slot(&self) -> u64 { self.chain.current_slot() } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 990 | pub fn slot_ms(&self) -> u64 { self.chain.clock.slot_ms } [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 993 | pub fn set_slot_ms(&mut self, ms: u64) { self.chain.clock.slot_ms = ms; } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 997 | pub fn expected_leader_for_next_block(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1004 | pub fn set_commit_fee_base(&mut self, base: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1008 | pub fn burned_total(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1012 | pub fn balance_of(&self, who: &str) -> u64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1016 | pub fn set_balance(&mut self, who: String, amount: u64) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1020 | pub fn rpc_insert_commit(&self, commit: CommitTx, fee_bid: u128) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1031 | pub fn rpc_insert_avail(&self, avail: AvailTx, fee_bid: u128) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1042 | pub fn rpc_insert_reveal(&self, reveal: RevealTx, fee_bid: u128) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1055 | pub fn credit_balance_direct(&mut self, addr: &str, amount: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1070 | fn simulate_block( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1331 | pub fn produce_block( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1457 | pub fn debug_hotstuff_aggregators(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1465 | pub fn debug_parent_index_len(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1470 | pub fn debug_parent_index_sample(&self, limit: usize) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1475 | pub fn debug_block_store_sample(&self, limit: usize) -> Vec<(Hash, u64, u64, Hash, u64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1484 | pub fn debug_pending_commits(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1489 | pub fn debug_last_proposed_view(&self) -> Option { self.last_proposed_view } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1492 | pub fn debug_mempool_counts(&self) -> (usize, usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1497 | pub fn debug_last_apply_error(&self) -> Option { self.last_apply_error.clone() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1500 | pub fn debug_block_store_len(&self) -> usize { self.block_store.len() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_SLOT_MS` is never used [INFO] [stdout] --> src/chain.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const DEFAULT_SLOT_MS: u64 = 500; // 0.5s slots for dev [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_EPOCH_SLOTS` is never used [INFO] [stdout] --> src/chain.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const DEFAULT_EPOCH_SLOTS: u64 = 1_024; // power-of-two for easy math [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_BUNDLE_LEN` is never used [INFO] [stdout] --> src/chain.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const DEFAULT_BUNDLE_LEN: u8 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TAU` is never used [INFO] [stdout] --> src/chain.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | pub const DEFAULT_TAU: f64 = 0.5; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Chain` is never constructed [INFO] [stdout] --> src/chain.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Chain { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RegistryEntry` is never constructed [INFO] [stdout] --> src/chain.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct RegistryEntry { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ApplyResult` is never constructed [INFO] [stdout] --> src/chain.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub struct ApplyResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/chain.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 78 | impl Chain { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 79 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn now_ts(&self) -> u128 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn current_slot_at(&self, now_ms: u128) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn current_slot(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn init_genesis(&mut self, set: ValidatorSet, seed: [u8; 32]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn verify_header_proposer(&mut self, header: &crate::types::BlockHeader) -> Result<(), BlockError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub fn on_epoch_transition(&mut self, new_set: ValidatorSet, new_seed: [u8; 32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | pub fn record_leader_miss(&mut self, vid: ValidatorId) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 326 | fn adjust_validator_set_with_penalties(&self, set: &ValidatorSet) -> ValidatorSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn next_epoch_seed(&self, last_epoch_accumulator: [u8; 32]) -> [u8; 32] { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn update_randomness_with_block(&mut self, header: &crate::types::BlockHeader) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 388 | pub fn apply_block( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 592 | fn build_set_from_registry(&self, epoch: u64) -> ValidatorSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 614 | pub fn commit_simulated_block( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 771 | pub fn commit_on_chain(&self, c: &Hash) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 776 | pub fn avail_on_chain(&self, c: &Hash) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 781 | pub fn avail_allowed_at(&self, height: u64, c: &Hash) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 792 | pub fn commitments_due_and_available(&self, height: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | pub fn add_threshold_share( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 830 | pub fn get_threshold_shares(&self, commitment: &Hash) -> Option<&Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 835 | pub fn remove_threshold_shares(&mut self, commitment: &Hash) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 840 | pub fn can_decrypt_commitment(&self, commitment: &Hash) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 850 | pub fn cleanup_old_shares(&mut self, commitments: &crate::state::Commitments) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 860 | fn collect_bls_pubkeys_snapshot(&self) -> Result, BlockError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 879 | pub fn apply_slash(&mut self, evidence: &SlashingEvidence, cfg: &StakingConfig) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_roots_for` is never used [INFO] [stdout] --> src/verify.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn compute_roots_for(block: &Block, batches: &BatchStore, receipts: &[Receipt]) -> (Hash, Hash, Hash) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_block_roots` is never used [INFO] [stdout] --> src/verify.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn verify_block_roots( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ValidatorId` is never used [INFO] [stdout] --> src/pos/registry.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type ValidatorId = u64; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ValidatorStatus` is never used [INFO] [stdout] --> src/pos/registry.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum ValidatorStatus { Active, Inactive, Jailed } [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Validator` is never constructed [INFO] [stdout] --> src/pos/registry.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Validator { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StakingConfig` is never constructed [INFO] [stdout] --> src/pos/registry.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct StakingConfig { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValidatorSet` is never constructed [INFO] [stdout] --> src/pos/registry.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct ValidatorSet { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PosError` is never used [INFO] [stdout] --> src/pos/registry.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum PosError { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/pos/registry.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl ValidatorSet { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn from_genesis(epoch: u64, cfg: &StakingConfig, mut vals: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn get(&self, id: ValidatorId) -> Option<&Validator> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn get_mut(&mut self, id: ValidatorId) -> Option<&mut Validator> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn index_of(&self, id: ValidatorId) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn total_stake(&self) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn bond(&mut self, id: ValidatorId, amount: u128, _cfg: &StakingConfig) -> Result<(), PosError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn unbond(&mut self, id: ValidatorId, amount: u128, cfg: &StakingConfig) -> Result<(), PosError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn activate(&mut self, id: ValidatorId) -> Result<(), PosError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn deactivate(&mut self, id: ValidatorId) -> Result<(), PosError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn jail(&mut self, id: ValidatorId) -> Result<(), PosError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn recompute_total_stake(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ProposerSchedule` is never used [INFO] [stdout] --> src/pos/schedule.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait ProposerSchedule { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AliasSchedule` is never constructed [INFO] [stdout] --> src/pos/schedule.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct AliasSchedule { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/pos/schedule.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl AliasSchedule { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 46 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `bump`, `next_u64`, and `next_u128` are never used [INFO] [stdout] --> src/pos/schedule.rs:149:16 [INFO] [stdout] | [INFO] [stdout] 148 | impl HashRng { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 149 | fn new(seed: [u8; 32]) -> Self { Self { state: seed, ctr: 0 } } [INFO] [stdout] | ^^^ [INFO] [stdout] 150 | #[inline] [INFO] [stdout] 151 | fn bump(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | fn next_u64(&mut self) -> u64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn next_u128(&mut self) -> u128 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SlotClock` is never constructed [INFO] [stdout] --> src/pos/slots.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct SlotClock { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `current_slot`, `current_epoch`, `slot_start_unix`, `slot_in_epoch`, and `bundle_start` are never used [INFO] [stdout] --> src/pos/slots.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl SlotClock { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn current_slot(&self, now_unix_ms: u128) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn current_epoch(&self, slot: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn slot_start_unix(&self, slot: u64) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn slot_in_epoch(&self, slot: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn bundle_start(&self, slot: u64, bundle_len: u8) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ConsensusMessage` is never used [INFO] [stdout] --> src/p2p.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum ConsensusMessage { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `P2PBehaviour` is never constructed [INFO] [stdout] --> src/p2p.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | struct P2PBehaviour { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `P2PEvent` is never used [INFO] [stdout] --> src/p2p.rs:66:6 [INFO] [stdout] | [INFO] [stdout] 66 | enum P2PEvent { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `P2PConfig` is never constructed [INFO] [stdout] --> src/p2p.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct P2PConfig { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConsensusNetwork` is never constructed [INFO] [stdout] --> src/p2p.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct ConsensusNetwork { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NetworkCommand` is never used [INFO] [stdout] --> src/p2p.rs:156:6 [INFO] [stdout] | [INFO] [stdout] 156 | enum NetworkCommand { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/p2p.rs:166:18 [INFO] [stdout] | [INFO] [stdout] 164 | impl ConsensusNetwork { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 165 | /// Create a new consensus network instance with P2P [INFO] [stdout] 166 | pub async fn new(validator_id: ValidatorId, config: P2PConfig) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn connect_peer(&self, addr: Multiaddr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn broadcast_proposal(&self, block: Block, parent: Option) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 341 | pub fn send_vote(&self, vote: Vote, leader_id: ValidatorId) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | pub fn broadcast_qc(&self, qc: QC) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 377 | pub fn broadcast_view_change(&self, view: u64, timeout_qc: Option) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 395 | pub fn try_recv_message(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | pub fn subscribe(&self) -> broadcast::Receiver { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | fn send_to_validator(&self, validator_id: ValidatorId, msg: ConsensusMessage) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 425 | fn broadcast_message(&self, msg: ConsensusMessage) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | pub fn validator_id(&self) -> ValidatorId { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 437 | pub fn peer_id(&self) -> PeerId { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 442 | pub fn connected_peers(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 447 | pub fn peer_ids(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 452 | pub fn install_direct_peers(&self, map: HashMap>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 457 | pub fn broadcast_slash_evidence(&self, evidence: SlashingEvidence) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NetworkTask` is never constructed [INFO] [stdout] --> src/p2p.rs:472:8 [INFO] [stdout] | [INFO] [stdout] 472 | struct NetworkTask { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/p2p.rs:487:14 [INFO] [stdout] | [INFO] [stdout] 486 | impl NetworkTask { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 487 | async fn run(mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 511 | async fn handle_command(&mut self, command: NetworkCommand) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 543 | async fn handle_swarm_event(&mut self, event: SwarmEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 598 | async fn handle_gossipsub_message(&mut self, source: PeerId, message: gossipsub::Message) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 619 | async fn broadcast_consensus_message(&mut self, msg: ConsensusMessage) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 639 | async fn send_to_validator(&mut self, _validator_id: ValidatorId, msg: ConsensusMessage) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 644 | async fn check_and_discover(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 653 | async fn run_discovery_round(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_test_network` is never used [INFO] [stdout] --> src/p2p.rs:669:14 [INFO] [stdout] | [INFO] [stdout] 669 | pub async fn create_test_network(validator_ids: Vec) -> Result, anyhow::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:763:13 [INFO] [stdout] | [INFO] [stdout] 763 | drop(hs); [INFO] [stdout] | ^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut HotStuff` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 763 - drop(hs); [INFO] [stdout] 763 + let _ = hs; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:796:17 [INFO] [stdout] | [INFO] [stdout] 796 | drop(hotstuff); [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut HotStuff` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 796 - drop(hotstuff); [INFO] [stdout] 796 + let _ = hotstuff; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:849:25 [INFO] [stdout] | [INFO] [stdout] 849 | drop(hs2); [INFO] [stdout] | ^^^^^---^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut HotStuff` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 849 - drop(hs2); [INFO] [stdout] 849 + let _ = hs2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 21s [INFO] running `Command { std: "docker" "inspect" "57c9fbcbba127f56a0a7366422fd47ee16a599b0f2ef610fa9e715aa0a6ddcbc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "57c9fbcbba127f56a0a7366422fd47ee16a599b0f2ef610fa9e715aa0a6ddcbc", kill_on_drop: false }` [INFO] [stdout] 57c9fbcbba127f56a0a7366422fd47ee16a599b0f2ef610fa9e715aa0a6ddcbc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 517fbe5f53e34895308a9fef3605e5ee3dfcddcda29f17e3fb6b9220bcea8093 [INFO] running `Command { std: "docker" "start" "-a" "517fbe5f53e34895308a9fef3605e5ee3dfcddcda29f17e3fb6b9220bcea8093", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Compiling bitflags v2.9.2 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stdout] warning: unused import: `BlsAggregate` [INFO] [stdout] --> src/types.rs:5:49 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{codec::qc_commitment, crypto::bls::{BlsAggregate, BlsSignatureBytes}, pos::registry::ValidatorId, mempool::encrypted::Thresho... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header_bytes` [INFO] [stdout] --> src/chain.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::codec::{header_bytes, header_signing_bytes, qc_commitment}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlockHeader` [INFO] [stdout] --> src/chain.rs:16:27 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::types::{Block, BlockHeader, Event, Hash, Receipt, SlashingEvidence, Address}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mempool::encrypted::ThresholdCiphertext` [INFO] [stdout] --> src/verify.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | mempool::encrypted::ThresholdCiphertext, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header_bytes` [INFO] [stdout] --> src/stf.rs:13:50 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::codec::{tx_enum_bytes, receipt_bytes, header_bytes, tx_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StateKey` [INFO] [stdout] --> src/stf.rs:17:81 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::types::{Block, Receipt, ExecOutcome, Hash, BlockHeader, Transaction, StateKey, Tx, Event, RevealTx, CommitTx, AccessList, Addr... [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AccessList` [INFO] [stdout] --> src/stf.rs:339:24 [INFO] [stdout] | [INFO] [stdout] 339 | use crate::types::{AccessList, StateKey}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlsSignatureBytes` [INFO] [stdout] --> src/node.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::crypto::bls::{verify_qc, BlsSigner, BlsSignatureBytes, BlsAggregate, vote_msg}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mempool::encrypted::ThresholdCiphertext` [INFO] [stdout] --> src/node.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::mempool::encrypted::ThresholdCiphertext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::cmp::Ordering` [INFO] [stdout] --> src/pos/registry.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use core::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/rpc.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::node::Node` [INFO] [stdout] --> src/rpc.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::node::Node; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/p2p.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::upgrade` [INFO] [stdout] --> src/p2p.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | core::upgrade, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> src/p2p.rs:21:37 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::types::{Block, Vote, QC, Hash, SlashingEvidence}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `day` [INFO] [stdout] --> src/rpc.rs:430:14 [INFO] [stdout] | [INFO] [stdout] 430 | let (day, used) = *limiter.book.get(&key).unwrap(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_day` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commitment` [INFO] [stdout] --> src/chain.rs:507:49 [INFO] [stdout] | [INFO] [stdout] 507 | Event::ThresholdShareReceived { commitment, validator_id: _ } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `commitment: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commitment` [INFO] [stdout] --> src/chain.rs:699:49 [INFO] [stdout] | [INFO] [stdout] 699 | Event::ThresholdShareReceived { commitment, validator_id: _ } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `commitment: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/node.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 476 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/node.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 468 | Tx::Commit(c) => { [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 472 | Tx::Avail(a) => { [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 476 | _ => {} [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:622:50 [INFO] [stdout] | [INFO] [stdout] 622 | fn handle_proposal(&mut self, block: &Block, sender_id: ValidatorId) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:712:43 [INFO] [stdout] | [INFO] [stdout] 712 | fn handle_vote(&mut self, vote: Vote, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/node.rs:760:17 [INFO] [stdout] | [INFO] [stdout] 760 | let n = hs.validator_pks.len(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:739:37 [INFO] [stdout] | [INFO] [stdout] 739 | fn handle_qc(&mut self, qc: QC, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:778:49 [INFO] [stdout] | [INFO] [stdout] 778 | fn handle_view_change(&mut self, view: u64, sender_id: ValidatorId, timeout_qc: Option) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/node.rs:1218:13 [INFO] [stdout] | [INFO] [stdout] 1218 | let mut header = crate::types::BlockHeader { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CIPHERTEXT_SIZE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const CIPHERTEXT_SIZE: usize = 48 + 96; // G1 point (48) + G2 signature (96) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `pending_len` is never used [INFO] [stdout] --> src/consensus/mod.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl VoteAggregator { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | fn pending_len(&self) -> usize { self.pending_indices.len() } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hex48` is never used [INFO] [stdout] --> src/rpc.rs:149:4 [INFO] [stdout] | [INFO] [stdout] 149 | fn hex48(s: &str) -> [u8; 48] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/p2p.rs:70:10 [INFO] [stdout] | [INFO] [stdout] 70 | Ping(ping::Event), [INFO] [stdout] | ---- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `P2PEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 70 - Ping(ping::Event), [INFO] [stdout] 70 + Ping(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/p2p.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | Kademlia(kad::Event), [INFO] [stdout] | -------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `P2PEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 71 - Kademlia(kad::Event), [INFO] [stdout] 71 + Kademlia(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `validator_to_peer` and `use_gossip_fallback` are never read [INFO] [stdout] --> src/p2p.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct ConsensusNetwork { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 143 | validator_to_peer: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | use_gossip_fallback: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConsensusNetwork` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `GetConnectedPeers` and `TriggerDiscovery` are never constructed [INFO] [stdout] --> src/p2p.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 156 | enum NetworkCommand { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 160 | GetConnectedPeers, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 161 | TriggerDiscovery, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NetworkCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `target_peers` and `max_peers` are never read [INFO] [stdout] --> src/p2p.rs:481:5 [INFO] [stdout] | [INFO] [stdout] 472 | struct NetworkTask { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 481 | target_peers: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 482 | max_peers: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:763:13 [INFO] [stdout] | [INFO] [stdout] 763 | drop(hs); [INFO] [stdout] | ^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut HotStuff` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 763 - drop(hs); [INFO] [stdout] 763 + let _ = hs; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:796:17 [INFO] [stdout] | [INFO] [stdout] 796 | drop(hotstuff); [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut HotStuff` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 796 - drop(hotstuff); [INFO] [stdout] 796 + let _ = hotstuff; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:849:25 [INFO] [stdout] | [INFO] [stdout] 849 | drop(hs2); [INFO] [stdout] | ^^^^^---^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut HotStuff` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 849 - drop(hs2); [INFO] [stdout] 849 + let _ = hs2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlsAggregate` [INFO] [stdout] --> src/types.rs:5:49 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{codec::qc_commitment, crypto::bls::{BlsAggregate, BlsSignatureBytes}, pos::registry::ValidatorId, mempool::encrypted::Thresho... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header_bytes` [INFO] [stdout] --> src/stf.rs:13:50 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::codec::{tx_enum_bytes, receipt_bytes, header_bytes, tx_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StateKey` [INFO] [stdout] --> src/stf.rs:17:81 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::types::{Block, Receipt, ExecOutcome, Hash, BlockHeader, Transaction, StateKey, Tx, Event, RevealTx, CommitTx, AccessList, Addr... [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AccessList` [INFO] [stdout] --> src/stf.rs:339:24 [INFO] [stdout] | [INFO] [stdout] 339 | use crate::types::{AccessList, StateKey}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ThresholdCiphertext` and `ThresholdShare` [INFO] [stdout] --> src/mempool/mod.rs:15:38 [INFO] [stdout] | [INFO] [stdout] 15 | pub use encrypted::{ThresholdEngine, ThresholdCiphertext, ThresholdShare, ThresholdError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlsSignatureBytes` [INFO] [stdout] --> src/node.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::crypto::bls::{verify_qc, BlsSigner, BlsSignatureBytes, BlsAggregate, vote_msg}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mempool::encrypted::ThresholdCiphertext` [INFO] [stdout] --> src/node.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::mempool::encrypted::ThresholdCiphertext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header_bytes` [INFO] [stdout] --> src/chain.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::codec::{header_bytes, header_signing_bytes, qc_commitment}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlockHeader` [INFO] [stdout] --> src/chain.rs:16:27 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::types::{Block, BlockHeader, Event, Hash, Receipt, SlashingEvidence, Address}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mempool::encrypted::ThresholdCiphertext` [INFO] [stdout] --> src/verify.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | mempool::encrypted::ThresholdCiphertext, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::cmp::Ordering` [INFO] [stdout] --> src/pos/registry.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use core::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/p2p.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::upgrade` [INFO] [stdout] --> src/p2p.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | core::upgrade, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> src/p2p.rs:21:37 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::types::{Block, Vote, QC, Hash, SlashingEvidence}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/node.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 476 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/node.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 468 | Tx::Commit(c) => { [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 472 | Tx::Avail(a) => { [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 476 | _ => {} [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:622:50 [INFO] [stdout] | [INFO] [stdout] 622 | fn handle_proposal(&mut self, block: &Block, sender_id: ValidatorId) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:712:43 [INFO] [stdout] | [INFO] [stdout] 712 | fn handle_vote(&mut self, vote: Vote, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/node.rs:760:17 [INFO] [stdout] | [INFO] [stdout] 760 | let n = hs.validator_pks.len(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:739:37 [INFO] [stdout] | [INFO] [stdout] 739 | fn handle_qc(&mut self, qc: QC, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:778:49 [INFO] [stdout] | [INFO] [stdout] 778 | fn handle_view_change(&mut self, view: u64, sender_id: ValidatorId, timeout_qc: Option) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/node.rs:1218:13 [INFO] [stdout] | [INFO] [stdout] 1218 | let mut header = crate::types::BlockHeader { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commitment` [INFO] [stdout] --> src/chain.rs:507:49 [INFO] [stdout] | [INFO] [stdout] 507 | Event::ThresholdShareReceived { commitment, validator_id: _ } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `commitment: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commitment` [INFO] [stdout] --> src/chain.rs:699:49 [INFO] [stdout] | [INFO] [stdout] 699 | Event::ThresholdShareReceived { commitment, validator_id: _ } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `commitment: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hex32` is never used [INFO] [stdout] --> src/main.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn hex32(h: &Hash) -> String { hex::encode(h) } [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Transaction` is never constructed [INFO] [stdout] --> src/types.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Transaction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `transfer` are never used [INFO] [stdout] --> src/types.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl Transaction { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 20 | pub fn new(from: impl Into
, to: impl Into
, amount: u64, nonce: u64, access_list: AccessList) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn transfer(from: impl Into
, to: impl Into
, amount: u64, nonce: u64) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Block` is never constructed [INFO] [stdout] --> src/types.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Block { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new_with_reveals` and `new` are never used [INFO] [stdout] --> src/types.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl Block { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] 43 | pub fn new_with_reveals(txs: Vec, reveals: Vec, mut header: BlockHeader, justify_qc: QC) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn new(txs: Vec, header: BlockHeader, justify_qc: QC) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ExecOutcome` is never used [INFO] [stdout] --> src/types.rs:59:10 [INFO] [stdout] | [INFO] [stdout] 59 | pub enum ExecOutcome { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Receipt` is never constructed [INFO] [stdout] --> src/types.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct Receipt { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pacemaker` is never constructed [INFO] [stdout] --> src/types.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct Pacemaker { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `on_enter_view`, `expired`, `bump_backoff`, and `observe_qc_latency` are never used [INFO] [stdout] --> src/types.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 94 | impl Pacemaker { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 95 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn on_enter_view(&mut self, now_ms: u128) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn expired(&self, now_ms: u128) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn bump_backoff(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn observe_qc_latency(&mut self, sample_ms: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Hash` is never used [INFO] [stdout] --> src/types.rs:162:10 [INFO] [stdout] | [INFO] [stdout] 162 | pub type Hash = [u8; 32]; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vote` is never constructed [INFO] [stdout] --> src/types.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 166 | pub struct Vote { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `QC` is never constructed [INFO] [stdout] --> src/types.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 176 | pub struct QC { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SlashingEvidence` is never used [INFO] [stdout] --> src/types.rs:186:10 [INFO] [stdout] | [INFO] [stdout] 186 | pub enum SlashingEvidence { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HotStuffState` is never constructed [INFO] [stdout] --> src/types.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 201 | pub struct HotStuffState { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockHeader` is never constructed [INFO] [stdout] --> src/types.rs:210:12 [INFO] [stdout] | [INFO] [stdout] 210 | pub struct BlockHeader { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StateKey` is never used [INFO] [stdout] --> src/types.rs:251:10 [INFO] [stdout] | [INFO] [stdout] 251 | pub enum StateKey { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AccessList` is never constructed [INFO] [stdout] --> src/types.rs:267:12 [INFO] [stdout] | [INFO] [stdout] 267 | pub struct AccessList { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `key_order` is never used [INFO] [stdout] --> src/types.rs:273:4 [INFO] [stdout] | [INFO] [stdout] 273 | fn key_order<'a>(k: &'a StateKey) -> (u8, &'a str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `canonicalize`, `for_transfer`, `contains_sorted`, `covers`, `require_sender_balance_rw`, and `require_sender_nonce_rw` are never used [INFO] [stdout] --> src/types.rs:282:12 [INFO] [stdout] | [INFO] [stdout] 280 | impl AccessList { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 281 | /// Sort + dedup in-place to canonical form. [INFO] [stdout] 282 | pub fn canonicalize(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn for_transfer(from: &Address, to: &Address) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn contains_sorted(slice: &[StateKey], key: &StateKey) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn covers(&self, required: &[StateKey]) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn require_sender_balance_rw(&self, sender: &Address) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn require_sender_nonce_rw(&self, sender: &Address) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommitTx` is never constructed [INFO] [stdout] --> src/types.rs:338:12 [INFO] [stdout] | [INFO] [stdout] 338 | pub struct CommitTx { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AvailTx` is never constructed [INFO] [stdout] --> src/types.rs:352:12 [INFO] [stdout] | [INFO] [stdout] 352 | pub struct AvailTx { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RevealTx` is never constructed [INFO] [stdout] --> src/types.rs:367:12 [INFO] [stdout] | [INFO] [stdout] 367 | pub struct RevealTx { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Tx` is never used [INFO] [stdout] --> src/types.rs:375:10 [INFO] [stdout] | [INFO] [stdout] 375 | pub enum Tx { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommitmentMeta` is never constructed [INFO] [stdout] --> src/types.rs:381:12 [INFO] [stdout] | [INFO] [stdout] 381 | pub struct CommitmentMeta { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Event` is never used [INFO] [stdout] --> src/types.rs:393:10 [INFO] [stdout] | [INFO] [stdout] 393 | pub enum Event { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHAIN_ID` is never used [INFO] [stdout] --> src/state.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const CHAIN_ID: u64 = 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COMMIT_FEE` is never used [INFO] [stdout] --> src/state.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const COMMIT_FEE: u64 = 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REVEAL_WINDOW` is never used [INFO] [stdout] --> src/state.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const REVEAL_WINDOW: u64 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DECRYPTION_DELAY` is never used [INFO] [stdout] --> src/state.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const DECRYPTION_DELAY: u64 = 1; // blocks after commit before reveals may start [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ZERO_ADDRESS` is never used [INFO] [stdout] --> src/state.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const ZERO_ADDRESS: &str = "0x0000000000000000000000000000000000000000"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TREASURY_ADDRESS` is never used [INFO] [stdout] --> src/state.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const TREASURY_ADDRESS: &str = "0x0000000000000000000000000000000000000001"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AVAIL_FEE` is never used [INFO] [stdout] --> src/state.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const AVAIL_FEE: u64 = 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_AVAILS_PER_BLOCK` is never used [INFO] [stdout] --> src/state.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const MAX_AVAILS_PER_BLOCK: usize = 50_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_REVEALS_PER_BLOCK` is never used [INFO] [stdout] --> src/state.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const MAX_REVEALS_PER_BLOCK: usize = 50_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PENDING_COMMITS_PER_ACCOUNT` is never used [INFO] [stdout] --> src/state.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const MAX_PENDING_COMMITS_PER_ACCOUNT: usize = 1_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_AL_READS` is never used [INFO] [stdout] --> src/state.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub const MAX_AL_READS: usize = 256; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_AL_WRITES` is never used [INFO] [stdout] --> src/state.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const MAX_AL_WRITES: usize = 256; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Nonces` is never used [INFO] [stdout] --> src/state.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | pub type Nonces = HashMap; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Commitments` is never used [INFO] [stdout] --> src/state.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | pub type Commitments = HashMap; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Available` is never used [INFO] [stdout] --> src/state.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub type Available = HashSet; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TxError` is never used [INFO] [stdout] --> src/stf.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum TxError { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BlockError` is never used [INFO] [stdout] --> src/stf.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum BlockError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockResult` is never constructed [INFO] [stdout] --> src/stf.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct BlockResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BodyResult` is never constructed [INFO] [stdout] --> src/stf.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct BodyResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_transaction` is never used [INFO] [stdout] --> src/stf.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn process_transaction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_avail` is never used [INFO] [stdout] --> src/stf.rs:234:8 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn process_avail( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pending_for_owner` is never used [INFO] [stdout] --> src/stf.rs:321:4 [INFO] [stdout] | [INFO] [stdout] 321 | fn pending_for_owner(commitments: &Commitments, owner: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_commit` is never used [INFO] [stdout] --> src/stf.rs:327:8 [INFO] [stdout] | [INFO] [stdout] 327 | pub fn process_commit( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_reveal` is never used [INFO] [stdout] --> src/stf.rs:459:4 [INFO] [stdout] | [INFO] [stdout] 459 | fn process_reveal( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_block` is never used [INFO] [stdout] --> src/stf.rs:527:8 [INFO] [stdout] | [INFO] [stdout] 527 | pub fn process_block( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DOM_ORDER` is never used [INFO] [stdout] --> src/crypto/mod.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const DOM_ORDER: &[u8] = b"ORDER"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COMMIT_DOMAIN` is never used [INFO] [stdout] --> src/crypto/mod.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const COMMIT_DOMAIN: &[u8] = b"CAR_COMMIT_V1"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REVEAL_PAIR_DOMAIN` is never used [INFO] [stdout] --> src/crypto/mod.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const REVEAL_PAIR_DOMAIN: &[u8] = b"CAR_REVEAL_PAIR_V1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIGN_COMMIT_DOMAIN` is never used [INFO] [stdout] --> src/crypto/mod.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const SIGN_COMMIT_DOMAIN: &[u8] = b"SIGN_COMMIT_V1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIGN_AVAIL_DOMAIN` is never used [INFO] [stdout] --> src/crypto/mod.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const SIGN_AVAIL_DOMAIN: &[u8] = b"SIGN_AVAIL_V1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_hex_addr` is never used [INFO] [stdout] --> src/crypto/mod.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn is_hex_addr(s: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `addr_from_pubkey` is never used [INFO] [stdout] --> src/crypto/mod.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn addr_from_pubkey(pubkey: &[u8; 32]) -> [u8; 20] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `addr_hex` is never used [INFO] [stdout] --> src/crypto/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn addr_hex(addr: &[u8; 20]) -> Address { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_ed25519` is never used [INFO] [stdout] --> src/crypto/mod.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn verify_ed25519(pubkey: &[u8; 32], sig_bytes: &[u8; 64], msg: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_signing_preimage` is never used [INFO] [stdout] --> src/crypto/mod.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn commit_signing_preimage( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `avail_signing_preimage` is never used [INFO] [stdout] --> src/crypto/mod.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn avail_signing_preimage( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commitment_hash` is never used [INFO] [stdout] --> src/crypto/mod.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn commitment_hash( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reveal_order_key` is never used [INFO] [stdout] --> src/crypto/mod.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn reveal_order_key(commitment: &Hash, randomness: &Hash) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_reveal_pair` is never used [INFO] [stdout] --> src/crypto/mod.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn hash_reveal_pair(commitment: &Hash, tx_hash: &Hash) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash` is never used [INFO] [stdout] --> src/crypto/mod.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | fn hash(bytes: &[u8]) -> Hash { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_bytes_sha256` is never used [INFO] [stdout] --> src/crypto/mod.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn hash_bytes_sha256(data: &[u8]) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parent_hash` is never used [INFO] [stdout] --> src/crypto/mod.rs:140:4 [INFO] [stdout] | [INFO] [stdout] 140 | fn parent_hash(left: &Hash, right: &Hash) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merkle_root` is never used [INFO] [stdout] --> src/crypto/mod.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn merkle_root(leaves: &[Hash]) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VRF_OUTPUT_BYTES` is never used [INFO] [stdout] --> src/crypto/vrf.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub const VRF_OUTPUT_BYTES: usize = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VrfOutput` is never used [INFO] [stdout] --> src/crypto/vrf.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub type VrfOutput = [u8; VRF_OUTPUT_BYTES]; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VrfPreOut` is never used [INFO] [stdout] --> src/crypto/vrf.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type VrfPreOut = [u8; VRF_OUTPUT_BYTES]; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VrfProof` is never used [INFO] [stdout] --> src/crypto/vrf.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub type VrfProof = Vec; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VrfPubkey` is never constructed [INFO] [stdout] --> src/crypto/vrf.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct VrfPubkey(pub [u8; 32]); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `VrfSigner` is never used [INFO] [stdout] --> src/crypto/vrf.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub trait VrfSigner { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `VrfVerifier` is never used [INFO] [stdout] --> src/crypto/vrf.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub trait VrfVerifier { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SchnorrkelVrfSigner` is never constructed [INFO] [stdout] --> src/crypto/vrf.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct SchnorrkelVrfSigner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SchnorrkelVrf` is never constructed [INFO] [stdout] --> src/crypto/vrf.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct SchnorrkelVrf; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_deterministic_seed` and `public_bytes` are never used [INFO] [stdout] --> src/crypto/vrf.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl SchnorrkelVrfSigner { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 32 | pub fn from_deterministic_seed(seed32: [u8; 32]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn public_bytes(&self) -> [u8; 32] { self.kp.public.to_bytes() } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_vrf_msg` is never used [INFO] [stdout] --> src/crypto/vrf.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn build_vrf_msg(epoch_seed: &[u8; 32], bundle_start_slot: u64, proposer_id: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vrf_eligible` is never used [INFO] [stdout] --> src/crypto/vrf.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn vrf_eligible(stake: u128, total: u128, out: &VrfOutput, tau: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLS_DST` is never used [INFO] [stdout] --> src/crypto/bls.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const BLS_DST: &[u8] = b"VORTEX-BLS-QUORUM-v1"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VOTE_MSG_VERSION` is never used [INFO] [stdout] --> src/crypto/bls.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const VOTE_MSG_VERSION: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlsSignatureBytes` is never constructed [INFO] [stdout] --> src/crypto/bls.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct BlsSignatureBytes(#[serde_as(as = "[_; 96]")] pub [u8; 96]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SignerBitmap` is never used [INFO] [stdout] --> src/crypto/bls.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | pub type SignerBitmap = BitVec; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlsAggregate` is never constructed [INFO] [stdout] --> src/crypto/bls.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct BlsAggregate { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, `finalize`, `clear`, `len`, and `is_empty` are never used [INFO] [stdout] --> src/crypto/bls.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl BlsAggregate { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 50 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn push(&mut self, sig_bytes: &[u8; 96]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn finalize(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vote_msg` is never used [INFO] [stdout] --> src/crypto/bls.rs:107:8 [INFO] [stdout] | [INFO] [stdout] 107 | pub fn vote_msg(block_id: &[u8], view: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlsSigner` is never constructed [INFO] [stdout] --> src/crypto/bls.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 122 | pub struct BlsSigner(mpk::SecretKey); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_sk_bytes`, `public_key_bytes`, and `sign` are never used [INFO] [stdout] --> src/crypto/bls.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 124 | impl BlsSigner { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 125 | /// Create from 32-byte secret key. [INFO] [stdout] 126 | pub fn from_sk_bytes(sk: &[u8; 32]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn public_key_bytes(&self) -> [u8; 48] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn sign(&self, msg: &[u8]) -> BlsSignatureBytes { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_sig` is never used [INFO] [stdout] --> src/crypto/bls.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn verify_sig(pk_bytes: &[u8; 48], msg: &[u8], sig: &BlsSignatureBytes) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fast_aggregate_verify` is never used [INFO] [stdout] --> src/crypto/bls.rs:164:8 [INFO] [stdout] | [INFO] [stdout] 164 | pub fn fast_aggregate_verify(sig: &BlsSignatureBytes, msg: &[u8], signer_pks: &[[u8; 48]]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_signer_pks_from_bitmap` is never used [INFO] [stdout] --> src/crypto/bls.rs:191:8 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn collect_signer_pks_from_bitmap( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_quorum` is never used [INFO] [stdout] --> src/crypto/bls.rs:208:8 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn has_quorum(n: usize, bitmap: &SignerBitmap) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BlsQcError` is never used [INFO] [stdout] --> src/crypto/bls.rs:217:10 [INFO] [stdout] | [INFO] [stdout] 217 | pub enum BlsQcError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_qc` is never used [INFO] [stdout] --> src/crypto/bls.rs:227:8 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn verify_qc( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BASE_FEE_PER_TX` is never used [INFO] [stdout] --> src/gas.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub const BASE_FEE_PER_TX: u64 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CODEC_VERSION` is never used [INFO] [stdout] --> src/codec.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const CODEC_VERSION: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DOM_TX` is never used [INFO] [stdout] --> src/codec.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const DOM_TX: &[u8] = b"TX"; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DOM_RCPT` is never used [INFO] [stdout] --> src/codec.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const DOM_RCPT: &[u8] = b"RCPT"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DOM_HDR` is never used [INFO] [stdout] --> src/codec.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const DOM_HDR: &[u8] = b"HDR"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAG_COMMIT` is never used [INFO] [stdout] --> src/codec.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const TAG_COMMIT: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAG_AVAIL` is never used [INFO] [stdout] --> src/codec.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const TAG_AVAIL: u8 = 2; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `QC_COMMIT_VERSION` is never used [INFO] [stdout] --> src/codec.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const QC_COMMIT_VERSION: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_bitmap_lsb0` is never used [INFO] [stdout] --> src/codec.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn encode_bitmap_lsb0(bitmap: &SignerBitmap) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `qc_commitment` is never used [INFO] [stdout] --> src/codec.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn qc_commitment( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `put_u64` is never used [INFO] [stdout] --> src/codec.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn put_u64(dst: &mut Vec, x: u64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `put_u32` is never used [INFO] [stdout] --> src/codec.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn put_u32(v: &mut Vec, x: u32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `put_str` is never used [INFO] [stdout] --> src/codec.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn put_str(dst: &mut Vec, s: &str) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string_bytes` is never used [INFO] [stdout] --> src/codec.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn string_bytes(s: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `access_list_bytes` is never used [INFO] [stdout] --> src/codec.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn access_list_bytes(al: &AccessList) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tx_bytes` is never used [INFO] [stdout] --> src/codec.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn tx_bytes(tx: &Transaction) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `receipt_bytes` is never used [INFO] [stdout] --> src/codec.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn receipt_bytes(r: &Receipt) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `put_access_list` is never used [INFO] [stdout] --> src/codec.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | fn put_access_list(v: &mut Vec, al: &AccessList) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `header_signing_bytes` is never used [INFO] [stdout] --> src/codec.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | pub fn header_signing_bytes(h: &BlockHeader) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `header_bytes` is never used [INFO] [stdout] --> src/codec.rs:191:8 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn header_bytes(h: &BlockHeader) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `header_id` is never used [INFO] [stdout] --> src/codec.rs:225:8 [INFO] [stdout] | [INFO] [stdout] 225 | pub fn header_id(h: &BlockHeader) -> Hash { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `put_bytes` is never used [INFO] [stdout] --> src/codec.rs:233:8 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn put_bytes(v: &mut Vec, bytes: &[u8]) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tx_enum_bytes` is never used [INFO] [stdout] --> src/codec.rs:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn tx_enum_bytes(tx: &Tx) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MempoolConfig` is never constructed [INFO] [stdout] --> src/mempool/mod.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct MempoolConfig { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TxId` is never constructed [INFO] [stdout] --> src/mempool/mod.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct TxId(pub [u8; 32]); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommitmentId` is never constructed [INFO] [stdout] --> src/mempool/mod.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct CommitmentId(pub [u8; 32]); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BalanceView` is never used [INFO] [stdout] --> src/mempool/mod.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | pub trait BalanceView { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AdmissionError` is never used [INFO] [stdout] --> src/mempool/mod.rs:39:10 [INFO] [stdout] | [INFO] [stdout] 39 | pub enum AdmissionError { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_affordable` is never used [INFO] [stdout] --> src/mempool/mod.rs:54:4 [INFO] [stdout] | [INFO] [stdout] 54 | fn ensure_affordable( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockCandidate` is never constructed [INFO] [stdout] --> src/mempool/mod.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub struct BlockCandidate { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockSelectionLimits` is never constructed [INFO] [stdout] --> src/mempool/mod.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct BlockSelectionLimits { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `StateView` is never used [INFO] [stdout] --> src/mempool/mod.rs:89:11 [INFO] [stdout] | [INFO] [stdout] 89 | pub trait StateView: Send + Sync { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SelectError` is never used [INFO] [stdout] --> src/mempool/mod.rs:113:10 [INFO] [stdout] | [INFO] [stdout] 113 | pub enum SelectError { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Mempool` is never used [INFO] [stdout] --> src/mempool/mod.rs:121:11 [INFO] [stdout] | [INFO] [stdout] 121 | pub trait Mempool: Send + Sync { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MempoolImpl` is never constructed [INFO] [stdout] --> src/mempool/mod.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 163 | pub struct MempoolImpl { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `QueuedItem` is never constructed [INFO] [stdout] --> src/mempool/mod.rs:171:12 [INFO] [stdout] | [INFO] [stdout] 171 | pub struct QueuedItem<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/mempool/mod.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 176 | impl MempoolImpl { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 177 | pub fn new(config: MempoolConfig) -> Arc { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn pending_commits_for_sender(&self, sender: &str) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn config(&self) -> &MempoolConfig { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn debug_read( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | pub fn debug_write( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn revalidate(&self, mut keep: F) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | pub fn revalidate_affordability(&self, view: &dyn BalanceView, fs: &FeeState) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommitQueueItem` is never constructed [INFO] [stdout] --> src/mempool/queues.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct CommitQueueItem { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AvailQueueItem` is never constructed [INFO] [stdout] --> src/mempool/queues.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct AvailQueueItem { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RevealQueueItem` is never constructed [INFO] [stdout] --> src/mempool/queues.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct RevealQueueItem { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EvictKind` is never used [INFO] [stdout] --> src/mempool/queues.rs:50:10 [INFO] [stdout] | [INFO] [stdout] 50 | pub enum EvictKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommitQueue` is never constructed [INFO] [stdout] --> src/mempool/queues.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct CommitQueue { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AvailQueue` is never constructed [INFO] [stdout] --> src/mempool/queues.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct AvailQueue { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RevealQueue` is never constructed [INFO] [stdout] --> src/mempool/queues.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct RevealQueue { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `txid_from` is never used [INFO] [stdout] --> src/mempool/queues.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn txid_from(bytes: &[u8]) -> TxId { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Queues` is never constructed [INFO] [stdout] --> src/mempool/queues.rs:100:12 [INFO] [stdout] | [INFO] [stdout] 100 | pub struct Queues { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `key_for_fee_order` is never used [INFO] [stdout] --> src/mempool/queues.rs:107:8 [INFO] [stdout] | [INFO] [stdout] 106 | impl CommitQueueItem { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 107 | fn key_for_fee_order(&self) -> (i128, Address) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `key_for_fee_order` is never used [INFO] [stdout] --> src/mempool/queues.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 111 | impl AvailQueueItem { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 112 | fn key_for_fee_order(&self) -> (i128, Address) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `key_for_fee_order` is never used [INFO] [stdout] --> src/mempool/queues.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 116 | impl RevealQueueItem { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 117 | fn key_for_fee_order(&self) -> (i128, Address, u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `precheck_commit`, `insert_commit_minimal`, and `retain_by` are never used [INFO] [stdout] --> src/mempool/queues.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 121 | impl CommitQueue { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 122 | fn precheck_commit(&self, c: &CommitTx, max_pending: u32) -> Result<(), AdmissionError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn insert_commit_minimal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn retain_by(&mut self, mut keep: F) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `precheck_avail`, `insert_avail_minimal`, and `retain_by` are never used [INFO] [stdout] --> src/mempool/queues.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 213 | impl AvailQueue { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 214 | fn precheck_avail(&self, a: &AvailTx) -> Result<(), AdmissionError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | pub fn insert_avail_minimal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn retain_by(&mut self, mut keep: F) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `precheck_reveal_locked`, `insert_reveal_minimal`, and `retain_by` are never used [INFO] [stdout] --> src/mempool/queues.rs:271:12 [INFO] [stdout] | [INFO] [stdout] 270 | impl RevealQueue { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 271 | pub fn precheck_reveal_locked( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | pub fn insert_reveal_minimal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn retain_by(&mut self, mut keep: F) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `evict_any` is never used [INFO] [stdout] --> src/mempool/queues.rs:344:12 [INFO] [stdout] | [INFO] [stdout] 343 | impl Queues { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 344 | pub fn evict_any(&mut self, id: &crate::mempool::TxId) -> EvictKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `purge_older_than` and `evict_by_id` are never used [INFO] [stdout] --> src/mempool/queues.rs:358:12 [INFO] [stdout] | [INFO] [stdout] 357 | impl CommitQueue { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 358 | pub fn purge_older_than(&mut self, current_height: u64, ttl_blocks: u32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 372 | pub fn evict_by_id(&mut self, id: &crate::mempool::TxId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `purge_older_than` and `evict_by_id` are never used [INFO] [stdout] --> src/mempool/queues.rs:397:12 [INFO] [stdout] | [INFO] [stdout] 396 | impl AvailQueue { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 397 | pub fn purge_older_than(&mut self, current_height: u64, ttl_blocks: u32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 411 | pub fn evict_by_id(&mut self, id: &crate::mempool::TxId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `evict_by_id` and `purge_older_than` are never used [INFO] [stdout] --> src/mempool/queues.rs:431:12 [INFO] [stdout] | [INFO] [stdout] 429 | impl RevealQueue { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 430 | /// Remove a reveal by TxId from all indices. [INFO] [stdout] 431 | pub fn evict_by_id(&mut self, id: &crate::mempool::TxId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 448 | pub fn purge_older_than(&mut self, current_height: u64, window_blocks: u32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Batch` is never constructed [INFO] [stdout] --> src/mempool/workers.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Batch { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/mempool/workers.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Batch { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn new(txs: Vec, parents: Vec, producer_id: ValidatorId, signature: [u8; 64]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BatchStore` is never constructed [INFO] [stdout] --> src/mempool/workers.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct BatchStore { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, `get`, `children_of`, and `frontier` are never used [INFO] [stdout] --> src/mempool/workers.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl BatchStore { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 53 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn insert(&self, batch: Batch) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn get(&self, id: &Hash) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn children_of(&self, id: &Hash) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn frontier(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WorkerHandle` is never constructed [INFO] [stdout] --> src/mempool/workers.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | pub struct WorkerHandle { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spawn_workers` is never used [INFO] [stdout] --> src/mempool/workers.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn spawn_workers( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TE_DOMAIN_ENCRYPT` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const TE_DOMAIN_ENCRYPT: &[u8] = b"VORTEX-THRESHOLD-ENCRYPT-V1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TE_DOMAIN_SHARE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const TE_DOMAIN_SHARE: &[u8] = b"VORTEX-THRESHOLD-SHARE-V1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TE_DOMAIN_DERIVE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const TE_DOMAIN_DERIVE: &[u8] = b"VORTEX-THRESHOLD-DERIVE-V1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CIPHERTEXT_SIZE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const CIPHERTEXT_SIZE: usize = 48 + 96; // G1 point (48) + G2 signature (96) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SHARE_SIZE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:29:7 [INFO] [stdout] | [INFO] [stdout] 29 | const SHARE_SIZE: usize = 48; // G1 element (validator's DH share) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROOF_SIZE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | const PROOF_SIZE: usize = 96; // G2 signature proof [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PUBLIC_KEY_SIZE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:31:7 [INFO] [stdout] | [INFO] [stdout] 31 | const PUBLIC_KEY_SIZE: usize = 48; // G1 element [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ThresholdError` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum ThresholdError { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ThresholdPublicKey` is never constructed [INFO] [stdout] --> src/mempool/encrypted.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | pub struct ThresholdPublicKey { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `verify` and `domain_hash` are never used [INFO] [stdout] --> src/mempool/encrypted.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 75 | impl ThresholdPublicKey { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] 76 | /// Verify this public key has valid BLS12-381 structure [INFO] [stdout] 77 | pub fn verify(&self) -> Result<(), ThresholdError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn domain_hash(&self) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ThresholdCiphertext` is never constructed [INFO] [stdout] --> src/mempool/encrypted.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 96 | pub struct ThresholdCiphertext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `size`, `verify`, and `commitment_hash` are never used [INFO] [stdout] --> src/mempool/encrypted.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 109 | impl ThresholdCiphertext { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 110 | /// Total size of this ciphertext in bytes [INFO] [stdout] 111 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn verify(&self) -> Result<(), ThresholdError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn commitment_hash(&self) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ThresholdShare` is never constructed [INFO] [stdout] --> src/mempool/encrypted.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 144 | pub struct ThresholdShare { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `verify` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:159:12 [INFO] [stdout] | [INFO] [stdout] 157 | impl ThresholdShare { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 158 | /// Verify this share has valid cryptographic structure [INFO] [stdout] 159 | pub fn verify(&self, ciphertext: &ThresholdCiphertext) -> Result<(), ThresholdError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ThresholdEngine` is never constructed [INFO] [stdout] --> src/mempool/encrypted.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 176 | pub struct ThresholdEngine { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/mempool/encrypted.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 183 | impl ThresholdEngine { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 184 | /// Create new threshold engine [INFO] [stdout] 185 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn update_public_key(&mut self, pk: ThresholdPublicKey) -> Result<(), ThresholdError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn add_validator_share(&mut self, validator_id: ValidatorId, share: [u8; 32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn remove_validator_share(&mut self, validator_id: ValidatorId) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn encrypt(&self, data: &[u8], epoch: u64) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | pub fn generate_share( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 316 | pub fn decrypt( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 355 | pub fn can_decrypt(&self, shares: &[ThresholdShare]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 365 | fn reconstruct_master_secret(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 439 | fn generate_ephemeral_key( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 493 | fn aes_encrypt( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 526 | fn aes_decrypt( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 561 | fn build_proof_message(&self, validator_id: ValidatorId, epoch: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 568 | fn aggregate_shares( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_threshold_public_key` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:711:12 [INFO] [stdout] | [INFO] [stdout] 711 | pub fn generate_threshold_public_key( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_private_shares` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:734:12 [INFO] [stdout] | [INFO] [stdout] 734 | pub fn generate_private_shares( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_share_consistency` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:900:12 [INFO] [stdout] | [INFO] [stdout] 900 | pub fn verify_share_consistency( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VoteAggregator` is never constructed [INFO] [stdout] --> src/consensus/mod.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct VoteAggregator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add`, `add_pending`, `pending_len`, and `drain_pending_with_agg_verify` are never used [INFO] [stdout] --> src/consensus/mod.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl VoteAggregator { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 25 | fn new(n: usize, block_id: Hash, view: u64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | fn add(&mut self, voter_idx: usize, sig: &BlsSignatureBytes) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn add_pending(&mut self, voter_idx: usize, sig: &BlsSignatureBytes) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn pending_len(&self) -> usize { self.pending_indices.len() } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 52 | fn drain_pending_with_agg_verify(&mut self, validator_pks: &[[u8; 48]]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HotStuff` is never constructed [INFO] [stdout] --> src/consensus/mod.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 102 | pub struct HotStuff { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Error` is never used [INFO] [stdout] --> src/consensus/mod.rs:116:10 [INFO] [stdout] | [INFO] [stdout] 116 | pub enum Error { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BlockStore` is never used [INFO] [stdout] --> src/consensus/mod.rs:123:11 [INFO] [stdout] | [INFO] [stdout] 123 | pub trait BlockStore { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `safe_to_vote` is never used [INFO] [stdout] --> src/consensus/mod.rs:131:4 [INFO] [stdout] | [INFO] [stdout] 131 | fn safe_to_vote( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/consensus/mod.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 149 | impl HotStuff { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 150 | pub fn new(state: HotStuffState, validator_pks: Vec<[u8;48]>, validator_id: ValidatorId, bls_signer: Option) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn observe_block_header(&mut self, header: &BlockHeader) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn debug_aggregators(&self) -> Vec<(u64, Hash, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn debug_parent_index_len(&self) -> usize { self.parent_index.len() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn debug_parent_index_sample(&self, limit: usize) -> Vec<(Hash, Hash)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn on_new_slot(&mut self, now_ms: u128) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn on_block_proposal(&mut self, block: &Block, _now_ms: u128) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn on_qc( [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn maybe_propose( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn maybe_vote(&mut self, store: &S, block: &Block) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | pub fn on_vote(&mut self, vote: Vote) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 409 | pub fn drain_evidence(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 417 | pub fn maybe_vote_self(&mut self, block: &Block) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | pub fn on_qc_self(&mut self, qc: QC, now_ms: u128) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_SLOT_MS` is never used [INFO] [stdout] --> src/consensus/dev_loop.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const DEFAULT_SLOT_MS: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_LIMITS` is never used [INFO] [stdout] --> src/consensus/dev_loop.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const DEFAULT_LIMITS: BlockSelectionLimits = BlockSelectionLimits { max_commits: 1024, max_avails: 1024, max_reveals: 1024 }; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DevLoopConfig` is never constructed [INFO] [stdout] --> src/consensus/dev_loop.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct DevLoopConfig { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DevLoop` is never constructed [INFO] [stdout] --> src/consensus/dev_loop.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct DevLoop { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `DevNode` is never used [INFO] [stdout] --> src/consensus/dev_loop.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait DevNode { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `tick_once`, `run_for_slots`, `run_until_height`, and `run_for_duration` are never used [INFO] [stdout] --> src/consensus/dev_loop.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl DevLoop where N: DevNode { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 26 | pub fn new(node: N, cfg: DevLoopConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn tick_once(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn run_for_slots(&mut self, n: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn run_until_height(&mut self, h: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn run_for_duration(&mut self, millis: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeeParams` is never constructed [INFO] [stdout] --> src/fees.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct FeeParams { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FEE_PARAMS` is never used [INFO] [stdout] --> src/fees.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | pub const FEE_PARAMS: FeeParams = FeeParams { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeeState` is never constructed [INFO] [stdout] --> src/fees.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct FeeState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_defaults` is never used [INFO] [stdout] --> src/fees.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 57 | impl FeeState { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 58 | pub fn from_defaults() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Lane` is never used [INFO] [stdout] --> src/fees.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | pub enum Lane { Exec, Commit, Avail } [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lane_base` is never used [INFO] [stdout] --> src/fees.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn lane_base(f: &FeeState, lane: Lane) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeeSplitBps` is never constructed [INFO] [stdout] --> src/fees.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct FeeSplitBps { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FEE_SPLIT` is never used [INFO] [stdout] --> src/fees.rs:85:11 [INFO] [stdout] | [INFO] [stdout] 85 | pub const FEE_SPLIT: FeeSplitBps = FeeSplitBps { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_amount` is never used [INFO] [stdout] --> src/fees.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn split_amount(amount: u64) -> (u64 /*burn*/, u64 /*proposer*/, u64 /*treasury*/) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_commit_base` is never used [INFO] [stdout] --> src/fees.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn update_commit_base(prev_base: u64, commits_used: u32) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_exec_base` is never used [INFO] [stdout] --> src/fees.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn update_exec_base( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PendingVoteRetry` is never constructed [INFO] [stdout] --> src/node.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | struct PendingVoteRetry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StateBalanceView` is never constructed [INFO] [stdout] --> src/node.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct StateBalanceView<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SelectedIds` is never constructed [INFO] [stdout] --> src/node.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct SelectedIds { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BuiltBlock` is never constructed [INFO] [stdout] --> src/node.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct BuiltBlock { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ProduceError` is never used [INFO] [stdout] --> src/node.rs:58:10 [INFO] [stdout] | [INFO] [stdout] 58 | pub enum ProduceError { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PacemakerConfig` is never constructed [INFO] [stdout] --> src/node.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct PacemakerConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConsensusConfig` is never constructed [INFO] [stdout] --> src/node.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct ConsensusConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/node.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NodeStateView` is never constructed [INFO] [stdout] --> src/node.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | struct NodeStateView<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/node.rs:163:19 [INFO] [stdout] | [INFO] [stdout] 160 | impl Node { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 163 | pub(crate) fn leader_for_view(&self, view: u64) -> ValidatorId { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | fn now_ms() -> u128 { (Self::now_ts() as u128) * 1000 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 170 | [INFO] [stdout] 171 | fn schedule_vote_retry(&mut self, vote: Vote, leader_id: ValidatorId, delay_ms: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn process_pending_vote_retries(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn new(mempool: Arc, signer: SigningKey) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn new_with_consensus( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 327 | fn collect_active_bls_pubkeys_in_order(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn resolve_my_validator_id(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 356 | fn load_best_qc_from_store(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 360 | pub fn align_clock_for_test(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | pub fn set_vrf_signer(&mut self, vrf: SchnorrkelVrfSigner) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 374 | pub fn with_vrf_signer(mut self, vrf: SchnorrkelVrfSigner) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 380 | pub fn set_consensus_network(&mut self, network: ConsensusNetwork) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 385 | pub fn consensus_network(&self) -> Option<&ConsensusNetwork> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 390 | pub fn hotstuff_mut(&mut self) -> Option<&mut HotStuff> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 395 | pub fn hotstuff(&self) -> Option<&HotStuff> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 400 | pub fn set_hotstuff(&mut self, hotstuff: HotStuff) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 405 | fn apply_committed_block(&mut self, commit_id: Hash) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 497 | fn try_apply_pending_commits(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 514 | pub fn process_consensus_messages(&mut self) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 577 | pub fn process_consensus_message(&mut self, msg: crate::p2p::ConsensusMessage) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 622 | fn handle_proposal(&mut self, block: &Block, sender_id: ValidatorId) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 712 | fn handle_vote(&mut self, vote: Vote, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 739 | fn handle_qc(&mut self, qc: QC, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 778 | fn handle_view_change(&mut self, view: u64, sender_id: ValidatorId, timeout_qc: Option) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 807 | pub fn check_pacemaker_timeout(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 892 | fn my_vrf_pubkey(&self) -> [u8; 32] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 899 | pub fn install_self_as_genesis_validator(&mut self, id: ValidatorId, stake: u128) -> BlsSigner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 906 | pub fn install_self_as_genesis_validator_with_key(&mut self, id: ValidatorId, stake: u128, bls_key: &[u8; 32]) -> BlsSigner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 931 | pub fn init_with_shared_validator_set(&mut self, validators: Vec, my_bls_signer: BlsSigner) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 945 | fn now_ts() -> u64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 951 | fn my_validator_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 960 | fn derive_block_randomness(&self, next_height: u64, slot: u64) -> [u8; 32] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 970 | pub fn height(&self) -> u64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 974 | pub fn tip_hash(&self) -> Hash { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 978 | pub fn proposer_pubkey(&self) -> [u8; 32] { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 982 | pub fn fee_state(&self) -> &FeeState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 987 | pub fn current_slot(&self) -> u64 { self.chain.current_slot() } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 990 | pub fn slot_ms(&self) -> u64 { self.chain.clock.slot_ms } [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 993 | pub fn set_slot_ms(&mut self, ms: u64) { self.chain.clock.slot_ms = ms; } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 997 | pub fn expected_leader_for_next_block(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1004 | pub fn set_commit_fee_base(&mut self, base: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1008 | pub fn burned_total(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1012 | pub fn balance_of(&self, who: &str) -> u64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1016 | pub fn set_balance(&mut self, who: String, amount: u64) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1020 | pub fn rpc_insert_commit(&self, commit: CommitTx, fee_bid: u128) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1031 | pub fn rpc_insert_avail(&self, avail: AvailTx, fee_bid: u128) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1042 | pub fn rpc_insert_reveal(&self, reveal: RevealTx, fee_bid: u128) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1055 | pub fn credit_balance_direct(&mut self, addr: &str, amount: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1070 | fn simulate_block( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1331 | pub fn produce_block( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1457 | pub fn debug_hotstuff_aggregators(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1465 | pub fn debug_parent_index_len(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1470 | pub fn debug_parent_index_sample(&self, limit: usize) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1475 | pub fn debug_block_store_sample(&self, limit: usize) -> Vec<(Hash, u64, u64, Hash, u64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1484 | pub fn debug_pending_commits(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1489 | pub fn debug_last_proposed_view(&self) -> Option { self.last_proposed_view } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1492 | pub fn debug_mempool_counts(&self) -> (usize, usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1497 | pub fn debug_last_apply_error(&self) -> Option { self.last_apply_error.clone() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1500 | pub fn debug_block_store_len(&self) -> usize { self.block_store.len() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_SLOT_MS` is never used [INFO] [stdout] --> src/chain.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const DEFAULT_SLOT_MS: u64 = 500; // 0.5s slots for dev [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_EPOCH_SLOTS` is never used [INFO] [stdout] --> src/chain.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const DEFAULT_EPOCH_SLOTS: u64 = 1_024; // power-of-two for easy math [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_BUNDLE_LEN` is never used [INFO] [stdout] --> src/chain.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const DEFAULT_BUNDLE_LEN: u8 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TAU` is never used [INFO] [stdout] --> src/chain.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | pub const DEFAULT_TAU: f64 = 0.5; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Chain` is never constructed [INFO] [stdout] --> src/chain.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Chain { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RegistryEntry` is never constructed [INFO] [stdout] --> src/chain.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct RegistryEntry { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ApplyResult` is never constructed [INFO] [stdout] --> src/chain.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub struct ApplyResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/chain.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 78 | impl Chain { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 79 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn now_ts(&self) -> u128 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn current_slot_at(&self, now_ms: u128) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn current_slot(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn init_genesis(&mut self, set: ValidatorSet, seed: [u8; 32]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn verify_header_proposer(&mut self, header: &crate::types::BlockHeader) -> Result<(), BlockError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub fn on_epoch_transition(&mut self, new_set: ValidatorSet, new_seed: [u8; 32]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | pub fn record_leader_miss(&mut self, vid: ValidatorId) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 326 | fn adjust_validator_set_with_penalties(&self, set: &ValidatorSet) -> ValidatorSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn next_epoch_seed(&self, last_epoch_accumulator: [u8; 32]) -> [u8; 32] { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn update_randomness_with_block(&mut self, header: &crate::types::BlockHeader) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 388 | pub fn apply_block( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 592 | fn build_set_from_registry(&self, epoch: u64) -> ValidatorSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 614 | pub fn commit_simulated_block( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 771 | pub fn commit_on_chain(&self, c: &Hash) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 776 | pub fn avail_on_chain(&self, c: &Hash) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 781 | pub fn avail_allowed_at(&self, height: u64, c: &Hash) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 792 | pub fn commitments_due_and_available(&self, height: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | pub fn add_threshold_share( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 830 | pub fn get_threshold_shares(&self, commitment: &Hash) -> Option<&Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 835 | pub fn remove_threshold_shares(&mut self, commitment: &Hash) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 840 | pub fn can_decrypt_commitment(&self, commitment: &Hash) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 850 | pub fn cleanup_old_shares(&mut self, commitments: &crate::state::Commitments) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 860 | fn collect_bls_pubkeys_snapshot(&self) -> Result, BlockError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 879 | pub fn apply_slash(&mut self, evidence: &SlashingEvidence, cfg: &StakingConfig) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_roots_for` is never used [INFO] [stdout] --> src/verify.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn compute_roots_for(block: &Block, batches: &BatchStore, receipts: &[Receipt]) -> (Hash, Hash, Hash) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_block_roots` is never used [INFO] [stdout] --> src/verify.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn verify_block_roots( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ValidatorId` is never used [INFO] [stdout] --> src/pos/registry.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type ValidatorId = u64; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ValidatorStatus` is never used [INFO] [stdout] --> src/pos/registry.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum ValidatorStatus { Active, Inactive, Jailed } [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Validator` is never constructed [INFO] [stdout] --> src/pos/registry.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Validator { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StakingConfig` is never constructed [INFO] [stdout] --> src/pos/registry.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct StakingConfig { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValidatorSet` is never constructed [INFO] [stdout] --> src/pos/registry.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct ValidatorSet { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PosError` is never used [INFO] [stdout] --> src/pos/registry.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum PosError { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/pos/registry.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl ValidatorSet { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn from_genesis(epoch: u64, cfg: &StakingConfig, mut vals: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn get(&self, id: ValidatorId) -> Option<&Validator> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn get_mut(&mut self, id: ValidatorId) -> Option<&mut Validator> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn index_of(&self, id: ValidatorId) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn total_stake(&self) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn bond(&mut self, id: ValidatorId, amount: u128, _cfg: &StakingConfig) -> Result<(), PosError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn unbond(&mut self, id: ValidatorId, amount: u128, cfg: &StakingConfig) -> Result<(), PosError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn activate(&mut self, id: ValidatorId) -> Result<(), PosError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn deactivate(&mut self, id: ValidatorId) -> Result<(), PosError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn jail(&mut self, id: ValidatorId) -> Result<(), PosError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn recompute_total_stake(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ProposerSchedule` is never used [INFO] [stdout] --> src/pos/schedule.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait ProposerSchedule { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AliasSchedule` is never constructed [INFO] [stdout] --> src/pos/schedule.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct AliasSchedule { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/pos/schedule.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl AliasSchedule { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 46 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `bump`, `next_u64`, and `next_u128` are never used [INFO] [stdout] --> src/pos/schedule.rs:149:16 [INFO] [stdout] | [INFO] [stdout] 148 | impl HashRng { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 149 | fn new(seed: [u8; 32]) -> Self { Self { state: seed, ctr: 0 } } [INFO] [stdout] | ^^^ [INFO] [stdout] 150 | #[inline] [INFO] [stdout] 151 | fn bump(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | fn next_u64(&mut self) -> u64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn next_u128(&mut self) -> u128 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SlotClock` is never constructed [INFO] [stdout] --> src/pos/slots.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct SlotClock { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `current_slot`, `current_epoch`, `slot_start_unix`, `slot_in_epoch`, and `bundle_start` are never used [INFO] [stdout] --> src/pos/slots.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl SlotClock { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn current_slot(&self, now_unix_ms: u128) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn current_epoch(&self, slot: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn slot_start_unix(&self, slot: u64) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn slot_in_epoch(&self, slot: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn bundle_start(&self, slot: u64, bundle_len: u8) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ConsensusMessage` is never used [INFO] [stdout] --> src/p2p.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum ConsensusMessage { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `P2PBehaviour` is never constructed [INFO] [stdout] --> src/p2p.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | struct P2PBehaviour { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `P2PEvent` is never used [INFO] [stdout] --> src/p2p.rs:66:6 [INFO] [stdout] | [INFO] [stdout] 66 | enum P2PEvent { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `P2PConfig` is never constructed [INFO] [stdout] --> src/p2p.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct P2PConfig { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConsensusNetwork` is never constructed [INFO] [stdout] --> src/p2p.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct ConsensusNetwork { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NetworkCommand` is never used [INFO] [stdout] --> src/p2p.rs:156:6 [INFO] [stdout] | [INFO] [stdout] 156 | enum NetworkCommand { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/p2p.rs:166:18 [INFO] [stdout] | [INFO] [stdout] 164 | impl ConsensusNetwork { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 165 | /// Create a new consensus network instance with P2P [INFO] [stdout] 166 | pub async fn new(validator_id: ValidatorId, config: P2PConfig) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn connect_peer(&self, addr: Multiaddr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn broadcast_proposal(&self, block: Block, parent: Option) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 341 | pub fn send_vote(&self, vote: Vote, leader_id: ValidatorId) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | pub fn broadcast_qc(&self, qc: QC) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 377 | pub fn broadcast_view_change(&self, view: u64, timeout_qc: Option) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 395 | pub fn try_recv_message(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | pub fn subscribe(&self) -> broadcast::Receiver { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | fn send_to_validator(&self, validator_id: ValidatorId, msg: ConsensusMessage) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 425 | fn broadcast_message(&self, msg: ConsensusMessage) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | pub fn validator_id(&self) -> ValidatorId { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 437 | pub fn peer_id(&self) -> PeerId { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 442 | pub fn connected_peers(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 447 | pub fn peer_ids(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 452 | pub fn install_direct_peers(&self, map: HashMap>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 457 | pub fn broadcast_slash_evidence(&self, evidence: SlashingEvidence) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NetworkTask` is never constructed [INFO] [stdout] --> src/p2p.rs:472:8 [INFO] [stdout] | [INFO] [stdout] 472 | struct NetworkTask { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/p2p.rs:487:14 [INFO] [stdout] | [INFO] [stdout] 486 | impl NetworkTask { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 487 | async fn run(mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 511 | async fn handle_command(&mut self, command: NetworkCommand) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 543 | async fn handle_swarm_event(&mut self, event: SwarmEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 598 | async fn handle_gossipsub_message(&mut self, source: PeerId, message: gossipsub::Message) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 619 | async fn broadcast_consensus_message(&mut self, msg: ConsensusMessage) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 639 | async fn send_to_validator(&mut self, _validator_id: ValidatorId, msg: ConsensusMessage) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 644 | async fn check_and_discover(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 653 | async fn run_discovery_round(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_test_network` is never used [INFO] [stdout] --> src/p2p.rs:669:14 [INFO] [stdout] | [INFO] [stdout] 669 | pub async fn create_test_network(validator_ids: Vec) -> Result, anyhow::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:763:13 [INFO] [stdout] | [INFO] [stdout] 763 | drop(hs); [INFO] [stdout] | ^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut HotStuff` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 763 - drop(hs); [INFO] [stdout] 763 + let _ = hs; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:796:17 [INFO] [stdout] | [INFO] [stdout] 796 | drop(hotstuff); [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut HotStuff` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 796 - drop(hotstuff); [INFO] [stdout] 796 + let _ = hotstuff; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:849:25 [INFO] [stdout] | [INFO] [stdout] 849 | drop(hs2); [INFO] [stdout] | ^^^^^---^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut HotStuff` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 849 - drop(hs2); [INFO] [stdout] 849 + let _ = hs2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PacemakerConfig` [INFO] [stdout] --> src/bin/localnet_multi.rs:25:18 [INFO] [stdout] | [INFO] [stdout] 25 | node::{Node, PacemakerConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around assigned value [INFO] [stdout] --> src/bin/localnet_multi.rs:206:46 [INFO] [stdout] | [INFO] [stdout] 206 | ... rx_opt = { node2.lock().unwrap().consensus_network().map(|net| net.subscribe()) }; [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 206 - rx_opt = { node2.lock().unwrap().consensus_network().map(|net| net.subscribe()) }; [INFO] [stdout] 206 + rx_opt = node2.lock().unwrap().consensus_network().map(|net| net.subscribe()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around assigned value [INFO] [stdout] --> src/bin/localnet_multi.rs:221:30 [INFO] [stdout] | [INFO] [stdout] 221 | rx_opt = { node2.lock().unwrap().consensus_network().map(|net| net.subscribe()) }; [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 221 - rx_opt = { node2.lock().unwrap().consensus_network().map(|net| net.subscribe()) }; [INFO] [stdout] 221 + rx_opt = node2.lock().unwrap().consensus_network().map(|net| net.subscribe()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling tempfile v3.20.0 [INFO] [stderr] Compiling rusty-fork v0.3.0 [INFO] [stderr] Compiling proptest v1.7.0 [INFO] [stderr] Compiling l1-blockchain v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> tests/hotstuff_consensus.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> tests/hotstuff_consensus.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BlsAggregate`, `Hash`, `codec::qc_commitment`, and `vote_msg` [INFO] [stdout] --> tests/hotstuff_consensus.rs:10:30 [INFO] [stdout] | [INFO] [stdout] 10 | crypto::bls::{BlsSigner, vote_msg, BlsAggregate}, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] 11 | types::{HotStuffState, Pacemaker, QC, Hash}, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | codec::qc_commitment, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> tests/prop_selection.rs:16:95 [INFO] [stdout] | [INFO] [stdout] 16 | use l1_blockchain::types::{AccessList, AvailTx, CommitTx, RevealTx, Transaction, Tx, Address, Hash}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `consensus_config` [INFO] [stdout] --> tests/hotstuff_consensus.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let consensus_config = ConsensusConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_consensus_config` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/threshold_encryption_integration.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | let mut nonces = Nonces::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leader_id` [INFO] [stdout] --> tests/hotstuff_consensus.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | let leader_id = node_0.expected_leader_for_next_block().expect("leader available"); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leader_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `encrypted_payload` [INFO] [stdout] --> tests/threshold_encryption_integration.rs:493:9 [INFO] [stdout] | [INFO] [stdout] 493 | let encrypted_payload = chain.threshold_engine.encrypt(original_tx_data, 0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encrypted_payload` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PacemakerConfig` [INFO] [stdout] --> src/bin/localnet_multi.rs:25:18 [INFO] [stdout] | [INFO] [stdout] 25 | node::{Node, PacemakerConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around assigned value [INFO] [stdout] --> src/bin/localnet_multi.rs:206:46 [INFO] [stdout] | [INFO] [stdout] 206 | ... rx_opt = { node2.lock().unwrap().consensus_network().map(|net| net.subscribe()) }; [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 206 - rx_opt = { node2.lock().unwrap().consensus_network().map(|net| net.subscribe()) }; [INFO] [stdout] 206 + rx_opt = node2.lock().unwrap().consensus_network().map(|net| net.subscribe()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around assigned value [INFO] [stdout] --> src/bin/localnet_multi.rs:221:30 [INFO] [stdout] | [INFO] [stdout] 221 | rx_opt = { node2.lock().unwrap().consensus_network().map(|net| net.subscribe()) }; [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 221 - rx_opt = { node2.lock().unwrap().consensus_network().map(|net| net.subscribe()) }; [INFO] [stdout] 221 + rx_opt = node2.lock().unwrap().consensus_network().map(|net| net.subscribe()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> tests/hotstuff_consensus.rs:362:13 [INFO] [stdout] | [INFO] [stdout] 362 | assert!(committed_blocks.len() >= 0, "Should have processed consensus rounds"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> tests/hotstuff_consensus.rs:526:13 [INFO] [stdout] | [INFO] [stdout] 526 | assert!(all_committed_blocks.len() >= 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlsAggregate` [INFO] [stdout] --> src/types.rs:5:49 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{codec::qc_commitment, crypto::bls::{BlsAggregate, BlsSignatureBytes}, pos::registry::ValidatorId, mempool::encrypted::Thresho... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header_bytes` [INFO] [stdout] --> src/chain.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::codec::{header_bytes, header_signing_bytes, qc_commitment}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlockHeader` [INFO] [stdout] --> src/chain.rs:16:27 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::types::{Block, BlockHeader, Event, Hash, Receipt, SlashingEvidence, Address}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header_bytes` [INFO] [stdout] --> src/chain.rs:1018:9 [INFO] [stdout] | [INFO] [stdout] 1018 | header_bytes, header_signing_bytes, tx_bytes, access_list_bytes, string_bytes, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SchnorrkelVrfSigner` [INFO] [stdout] --> src/chain.rs:1020:30 [INFO] [stdout] | [INFO] [stdout] 1020 | use crate::crypto::vrf::{SchnorrkelVrfSigner, VrfSigner}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlsSignatureBytes` [INFO] [stdout] --> src/chain.rs:1029:30 [INFO] [stdout] | [INFO] [stdout] 1029 | use crate::crypto::bls::{BlsSignatureBytes, BlsSigner, BlsAggregate, vote_msg}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `addr_from_pubkey`, `addr_hex`, and `hash_bytes_sha256` [INFO] [stdout] --> src/chain.rs:1776:29 [INFO] [stdout] | [INFO] [stdout] 1776 | use crate::crypto::{hash_bytes_sha256, addr_from_pubkey, addr_hex}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SchnorrkelVrfSigner`, `VrfSigner`, and `build_vrf_msg` [INFO] [stdout] --> src/chain.rs:1777:34 [INFO] [stdout] | [INFO] [stdout] 1777 | use crate::crypto::vrf::{SchnorrkelVrfSigner, VrfSigner, build_vrf_msg}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header_bytes` [INFO] [stdout] --> src/stf.rs:13:50 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::codec::{tx_enum_bytes, receipt_bytes, header_bytes, tx_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StateKey` [INFO] [stdout] --> src/stf.rs:17:81 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::types::{Block, Receipt, ExecOutcome, Hash, BlockHeader, Transaction, StateKey, Tx, Event, RevealTx, CommitTx, AccessList, Addr... [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AccessList` [INFO] [stdout] --> src/stf.rs:339:24 [INFO] [stdout] | [INFO] [stdout] 339 | use crate::types::{AccessList, StateKey}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::chain::DEFAULT_BUNDLE_LEN` [INFO] [stdout] --> src/fees.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | use crate::chain::DEFAULT_BUNDLE_LEN; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SchnorrkelVrfSigner`, `VrfSigner`, and `build_vrf_msg` [INFO] [stdout] --> src/fees.rs:162:30 [INFO] [stdout] | [INFO] [stdout] 162 | use crate::crypto::vrf::{build_vrf_msg, SchnorrkelVrfSigner, VrfSigner}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlsSignatureBytes` [INFO] [stdout] --> src/node.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::crypto::bls::{verify_qc, BlsSigner, BlsSignatureBytes, BlsAggregate, vote_msg}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/node.rs:1629:25 [INFO] [stdout] | [INFO] [stdout] 1629 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::cmp::Ordering` [INFO] [stdout] --> src/pos/registry.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use core::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/rpc.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::node::Node` [INFO] [stdout] --> src/rpc.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::node::Node; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/p2p.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::upgrade` [INFO] [stdout] --> src/p2p.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | core::upgrade, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> src/p2p.rs:21:37 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::types::{Block, Vote, QC, Hash, SlashingEvidence}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pacemaker` [INFO] [stdout] --> src/p2p.rs:755:37 [INFO] [stdout] | [INFO] [stdout] 755 | use crate::types::{BlockHeader, Pacemaker}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `threshold_pk` [INFO] [stdout] --> tests/mempool_threshold_encryption.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | let (threshold_pk, engine, _private_shares) = setup_threshold_system(&validators, threshold, epoch); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threshold_pk` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `threshold_key_share` is never read [INFO] [stdout] --> tests/mempool_threshold_encryption.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 10 | struct MockValidator { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | threshold_key_share: [u8; 32], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlsAggregate` [INFO] [stdout] --> src/types.rs:5:49 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{codec::qc_commitment, crypto::bls::{BlsAggregate, BlsSignatureBytes}, pos::registry::ValidatorId, mempool::encrypted::Thresho... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header_bytes` [INFO] [stdout] --> src/stf.rs:13:50 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::codec::{tx_enum_bytes, receipt_bytes, header_bytes, tx_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StateKey` [INFO] [stdout] --> src/stf.rs:17:81 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::types::{Block, Receipt, ExecOutcome, Hash, BlockHeader, Transaction, StateKey, Tx, Event, RevealTx, CommitTx, AccessList, Addr... [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AccessList` [INFO] [stdout] --> src/stf.rs:339:24 [INFO] [stdout] | [INFO] [stdout] 339 | use crate::types::{AccessList, StateKey}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ThresholdCiphertext` and `ThresholdShare` [INFO] [stdout] --> src/mempool/mod.rs:15:38 [INFO] [stdout] | [INFO] [stdout] 15 | pub use encrypted::{ThresholdEngine, ThresholdCiphertext, ThresholdShare, ThresholdError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::chain::DEFAULT_BUNDLE_LEN` [INFO] [stdout] --> src/fees.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | use crate::chain::DEFAULT_BUNDLE_LEN; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SchnorrkelVrfSigner`, `VrfSigner`, and `build_vrf_msg` [INFO] [stdout] --> src/fees.rs:162:30 [INFO] [stdout] | [INFO] [stdout] 162 | use crate::crypto::vrf::{build_vrf_msg, SchnorrkelVrfSigner, VrfSigner}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlsSignatureBytes` [INFO] [stdout] --> src/node.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::crypto::bls::{verify_qc, BlsSigner, BlsSignatureBytes, BlsAggregate, vote_msg}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/node.rs:1629:25 [INFO] [stdout] | [INFO] [stdout] 1629 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header_bytes` [INFO] [stdout] --> src/chain.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::codec::{header_bytes, header_signing_bytes, qc_commitment}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlockHeader` [INFO] [stdout] --> src/chain.rs:16:27 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::types::{Block, BlockHeader, Event, Hash, Receipt, SlashingEvidence, Address}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header_bytes` [INFO] [stdout] --> src/chain.rs:1018:9 [INFO] [stdout] | [INFO] [stdout] 1018 | header_bytes, header_signing_bytes, tx_bytes, access_list_bytes, string_bytes, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SchnorrkelVrfSigner` [INFO] [stdout] --> src/chain.rs:1020:30 [INFO] [stdout] | [INFO] [stdout] 1020 | use crate::crypto::vrf::{SchnorrkelVrfSigner, VrfSigner}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlsSignatureBytes` [INFO] [stdout] --> src/chain.rs:1029:30 [INFO] [stdout] | [INFO] [stdout] 1029 | use crate::crypto::bls::{BlsSignatureBytes, BlsSigner, BlsAggregate, vote_msg}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `addr_from_pubkey`, `addr_hex`, and `hash_bytes_sha256` [INFO] [stdout] --> src/chain.rs:1776:29 [INFO] [stdout] | [INFO] [stdout] 1776 | use crate::crypto::{hash_bytes_sha256, addr_from_pubkey, addr_hex}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SchnorrkelVrfSigner`, `VrfSigner`, and `build_vrf_msg` [INFO] [stdout] --> src/chain.rs:1777:34 [INFO] [stdout] | [INFO] [stdout] 1777 | use crate::crypto::vrf::{SchnorrkelVrfSigner, VrfSigner, build_vrf_msg}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::cmp::Ordering` [INFO] [stdout] --> src/pos/registry.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use core::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/p2p.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::upgrade` [INFO] [stdout] --> src/p2p.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | core::upgrade, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hash` [INFO] [stdout] --> src/p2p.rs:21:37 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::types::{Block, Vote, QC, Hash, SlashingEvidence}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pacemaker` [INFO] [stdout] --> src/p2p.rs:755:37 [INFO] [stdout] | [INFO] [stdout] 755 | use crate::types::{BlockHeader, Pacemaker}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `day` [INFO] [stdout] --> src/rpc.rs:430:14 [INFO] [stdout] | [INFO] [stdout] 430 | let (day, used) = *limiter.book.get(&key).unwrap(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_day` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VrfSigner` [INFO] [stdout] --> src/chain.rs:1020:51 [INFO] [stdout] | [INFO] [stdout] 1020 | use crate::crypto::vrf::{SchnorrkelVrfSigner, VrfSigner}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `epoch_seed` [INFO] [stdout] --> src/fees.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 392 | let epoch_seed = [7u8; 32]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_epoch_seed` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/fees.rs:415:13 [INFO] [stdout] | [INFO] [stdout] 415 | let mut mk_header = |proposer_id: u64| { [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VrfSigner` [INFO] [stdout] --> src/chain.rs:1020:51 [INFO] [stdout] | [INFO] [stdout] 1020 | use crate::crypto::vrf::{SchnorrkelVrfSigner, VrfSigner}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/node.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 476 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/node.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 468 | Tx::Commit(c) => { [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 472 | Tx::Avail(a) => { [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 476 | _ => {} [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:622:50 [INFO] [stdout] | [INFO] [stdout] 622 | fn handle_proposal(&mut self, block: &Block, sender_id: ValidatorId) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:712:43 [INFO] [stdout] | [INFO] [stdout] 712 | fn handle_vote(&mut self, vote: Vote, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/node.rs:760:17 [INFO] [stdout] | [INFO] [stdout] 760 | let n = hs.validator_pks.len(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:739:37 [INFO] [stdout] | [INFO] [stdout] 739 | fn handle_qc(&mut self, qc: QC, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:778:49 [INFO] [stdout] | [INFO] [stdout] 778 | fn handle_view_change(&mut self, view: u64, sender_id: ValidatorId, timeout_qc: Option) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/node.rs:1218:13 [INFO] [stdout] | [INFO] [stdout] 1218 | let mut header = crate::types::BlockHeader { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commitment` [INFO] [stdout] --> src/chain.rs:507:49 [INFO] [stdout] | [INFO] [stdout] 507 | Event::ThresholdShareReceived { commitment, validator_id: _ } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `commitment: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commitment` [INFO] [stdout] --> src/chain.rs:699:49 [INFO] [stdout] | [INFO] [stdout] 699 | Event::ThresholdShareReceived { commitment, validator_id: _ } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `commitment: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proposer_id` [INFO] [stdout] --> src/chain.rs:2052:13 [INFO] [stdout] | [INFO] [stdout] 2052 | let proposer_id: u64 = 1; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proposer_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/chain.rs:2056:13 [INFO] [stdout] | [INFO] [stdout] 2056 | let mut build_block_vortex_ok = |chain: &Chain, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/chain.rs:2137:13 [INFO] [stdout] | [INFO] [stdout] 2137 | let mut build_block_vortex_raw = |chain: &Chain, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hex32` is never used [INFO] [stdout] --> src/main.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn hex32(h: &Hash) -> String { hex::encode(h) } [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `backoff_num`, `backoff_den`, `ewma_alpha_num`, and `ewma_alpha_den` are never read [INFO] [stdout] --> src/types.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct Pacemaker { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 82 | pub backoff_num: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 83 | pub backoff_den: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub ewma_alpha_num: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 88 | pub ewma_alpha_den: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Pacemaker` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `expired`, `bump_backoff`, and `observe_qc_latency` are never used [INFO] [stdout] --> src/types.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 94 | impl Pacemaker { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn expired(&self, now_ms: u128) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn bump_backoff(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn observe_qc_latency(&mut self, sample_ms: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `covers` is never used [INFO] [stdout] --> src/types.rs:315:12 [INFO] [stdout] | [INFO] [stdout] 280 | impl AccessList { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn covers(&self, required: &[StateKey]) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `expires_at` is never read [INFO] [stdout] --> src/types.rs:383:9 [INFO] [stdout] | [INFO] [stdout] 381 | pub struct CommitmentMeta { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 382 | pub owner: Address, [INFO] [stdout] 383 | pub expires_at: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CommitmentMeta` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `owner` and `expires_at` are never read [INFO] [stdout] --> src/types.rs:394:38 [INFO] [stdout] | [INFO] [stdout] 394 | CommitStored { commitment: Hash, owner: Address, expires_at: u64 }, [INFO] [stdout] | ------------ ^^^^^ ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Event` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `commitment` is never read [INFO] [stdout] --> src/types.rs:399:35 [INFO] [stdout] | [INFO] [stdout] 399 | ThresholdDecryptionComplete { commitment: Hash }, [INFO] [stdout] | --------------------------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Event` 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: multiple variants are never constructed [INFO] [stdout] --> src/types.rs:396:5 [INFO] [stdout] | [INFO] [stdout] 393 | pub enum Event { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 396 | CommitExpired { commitment: Hash }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 397 | AvailabilityRecorded { commitment: Hash }, [INFO] [stdout] 398 | ThresholdShareReceived { commitment: Hash, validator_id: ValidatorId }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 401 | StakeRegister { address: Address, ed25519: [u8; 32], bls: [u8; 48], vrf: [u8; 32] }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 402 | StakeBond { address: Address, amount: u64 }, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 403 | StakeUnbond { address: Address, amount: u64 }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 404 | StakeActivate { address: Address }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 405 | StakeDeactivate { address: Address }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Event` 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 `ZERO_ADDRESS` is never used [INFO] [stdout] --> src/state.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const ZERO_ADDRESS: &str = "0x0000000000000000000000000000000000000000"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `WrongParent` and `ProposerKeyMismatch` are never constructed [INFO] [stdout] --> src/stf.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum BlockError { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 50 | WrongParent, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | ProposerKeyMismatch, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BlockError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockResult` is never constructed [INFO] [stdout] --> src/stf.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct BlockResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DOM_ORDER` is never used [INFO] [stdout] --> src/crypto/mod.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const DOM_ORDER: &[u8] = b"ORDER"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REVEAL_PAIR_DOMAIN` is never used [INFO] [stdout] --> src/crypto/mod.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const REVEAL_PAIR_DOMAIN: &[u8] = b"CAR_REVEAL_PAIR_V1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reveal_order_key` is never used [INFO] [stdout] --> src/crypto/mod.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn reveal_order_key(commitment: &Hash, randomness: &Hash) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_reveal_pair` is never used [INFO] [stdout] --> src/crypto/mod.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn hash_reveal_pair(commitment: &Hash, tx_hash: &Hash) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `clear`, `len`, and `is_empty` are never used [INFO] [stdout] --> src/crypto/bls.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl BlsAggregate { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_signer_pks_from_bitmap` is never used [INFO] [stdout] --> src/crypto/bls.rs:191:8 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn collect_signer_pks_from_bitmap( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `bitmap` and `pks` are never read [INFO] [stdout] --> src/crypto/bls.rs:218:20 [INFO] [stdout] | [INFO] [stdout] 218 | BitmapLength { bitmap: usize, pks: usize }, [INFO] [stdout] | ------------ ^^^^^^ ^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BlsQcError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `have` and `need` are never read [INFO] [stdout] --> src/crypto/bls.rs:220:20 [INFO] [stdout] | [INFO] [stdout] 220 | QuorumNotMet { have: usize, need: usize }, [INFO] [stdout] | ------------ ^^^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BlsQcError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/crypto/bls.rs:221:23 [INFO] [stdout] | [INFO] [stdout] 221 | PublicKeyDecode { index: usize }, [INFO] [stdout] | --------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BlsQcError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `keypair_from_seed` is never used [INFO] [stdout] --> src/crypto/mod.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn keypair_from_seed(seed: [u8; 32]) -> (SigningKey, VerifyingKey) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sign_commit_fields` is never used [INFO] [stdout] --> src/crypto/mod.rs:192:12 [INFO] [stdout] | [INFO] [stdout] 192 | pub fn sign_commit_fields( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sign_avail_fields` is never used [INFO] [stdout] --> src/crypto/mod.rs:207:12 [INFO] [stdout] | [INFO] [stdout] 207 | pub fn sign_avail_fields( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `put_bytes` is never used [INFO] [stdout] --> src/codec.rs:233:8 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn put_bytes(v: &mut Vec, bytes: &[u8]) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `max_avails_per_block`, `max_reveals_per_block`, and `max_commits_per_block` are never read [INFO] [stdout] --> src/mempool/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct MempoolConfig { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 19 | pub max_avails_per_block: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | pub max_reveals_per_block: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | pub max_commits_per_block: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MempoolConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NonceGap`, `TooLarge`, `Stale`, and `NotYetValid` are never constructed [INFO] [stdout] --> src/mempool/mod.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub enum AdmissionError { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 42 | NonceGap, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 43 | MempoolFullForAccount, [INFO] [stdout] 44 | TooLarge, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 45 | Duplicate, [INFO] [stdout] 46 | Stale, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 47 | NotYetValid, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AdmissionError` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `missing` is never read [INFO] [stdout] --> src/mempool/mod.rs:115:26 [INFO] [stdout] | [INFO] [stdout] 115 | InclusionListUnmet { missing: Vec }, [INFO] [stdout] | ------------------ ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SelectError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `NothingToDo` is never constructed [INFO] [stdout] --> src/mempool/mod.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub enum SelectError { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 117 | NothingToDo, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SelectError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `insert_avail` is never used [INFO] [stdout] --> src/mempool/mod.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 121 | pub trait Mempool: Send + Sync { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 131 | fn insert_avail( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `debug_read` and `debug_write` are never used [INFO] [stdout] --> src/mempool/mod.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 176 | impl MempoolImpl { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn debug_read( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | pub fn debug_write( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `access_list_digest` are never read [INFO] [stdout] --> src/mempool/queues.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct CommitQueueItem { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 19 | pub id: TxId, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub access_list_digest: Hash, // hash of canonical AL bytes [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/mempool/queues.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct AvailQueueItem { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 29 | pub id: TxId, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `access_list_digest` are never read [INFO] [stdout] --> src/mempool/queues.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct RevealQueueItem { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 39 | pub id: TxId, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub access_list_digest: Hash, // digest used when recomputing commitment [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EvictKind` is never used [INFO] [stdout] --> src/mempool/queues.rs:50:10 [INFO] [stdout] | [INFO] [stdout] 50 | pub enum EvictKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `precheck_avail` and `insert_avail_minimal` are never used [INFO] [stdout] --> src/mempool/queues.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 213 | impl AvailQueue { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 214 | fn precheck_avail(&self, a: &AvailTx) -> Result<(), AdmissionError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | pub fn insert_avail_minimal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `evict_any` is never used [INFO] [stdout] --> src/mempool/queues.rs:344:12 [INFO] [stdout] | [INFO] [stdout] 343 | impl Queues { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 344 | pub fn evict_any(&mut self, id: &crate::mempool::TxId) -> EvictKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `producer_id` and `signature` are never read [INFO] [stdout] --> src/mempool/workers.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Batch { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | pub producer_id: ValidatorId, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 22 | /// Signature attesting to the batch contents. [INFO] [stdout] 23 | pub signature: [u8; 64], [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Batch` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `children_of` is never used [INFO] [stdout] --> src/mempool/workers.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl BatchStore { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn children_of(&self, id: &Hash) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WorkerHandle` is never constructed [INFO] [stdout] --> src/mempool/workers.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | pub struct WorkerHandle { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spawn_workers` is never used [INFO] [stdout] --> src/mempool/workers.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn spawn_workers( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CIPHERTEXT_SIZE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const CIPHERTEXT_SIZE: usize = 48 + 96; // G1 point (48) + G2 signature (96) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `domain_hash` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 75 | impl ThresholdPublicKey { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn domain_hash(&self) -> Hash { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `size` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 109 | impl ThresholdCiphertext { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] 110 | /// Total size of this ciphertext in bytes [INFO] [stdout] 111 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `remove_validator_share` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:205:12 [INFO] [stdout] | [INFO] [stdout] 183 | impl ThresholdEngine { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn remove_validator_share(&mut self, validator_id: ValidatorId) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_share_consistency` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:900:12 [INFO] [stdout] | [INFO] [stdout] 900 | pub fn verify_share_consistency( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `pending_len` is never used [INFO] [stdout] --> src/consensus/mod.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl VoteAggregator { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | fn pending_len(&self) -> usize { self.pending_indices.len() } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ProposalUnsafe` and `Unimplemented` are never constructed [INFO] [stdout] --> src/consensus/mod.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub enum Error { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 119 | ProposalUnsafe, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 120 | Unimplemented, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `debug_aggregators`, `debug_parent_index_len`, `debug_parent_index_sample`, `on_new_slot`, and `maybe_propose` are never used [INFO] [stdout] --> src/consensus/mod.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 149 | impl HotStuff { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn debug_aggregators(&self) -> Vec<(u64, Hash, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn debug_parent_index_len(&self) -> usize { self.parent_index.len() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn debug_parent_index_sample(&self, limit: usize) -> Vec<(Hash, Hash)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn on_new_slot(&mut self, now_ms: u128) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn maybe_propose( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_SLOT_MS` is never used [INFO] [stdout] --> src/consensus/dev_loop.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const DEFAULT_SLOT_MS: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_LIMITS` is never used [INFO] [stdout] --> src/consensus/dev_loop.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const DEFAULT_LIMITS: BlockSelectionLimits = BlockSelectionLimits { max_commits: 1024, max_avails: 1024, max_reveals: 1024 }; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DevLoopConfig` is never constructed [INFO] [stdout] --> src/consensus/dev_loop.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct DevLoopConfig { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DevLoop` is never constructed [INFO] [stdout] --> src/consensus/dev_loop.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct DevLoop { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `height` and `produce_block` are never used [INFO] [stdout] --> src/consensus/dev_loop.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait DevNode { [INFO] [stdout] | ------- methods in this trait [INFO] [stdout] 20 | fn height(&self) -> u64; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 21 | fn produce_block(&mut self, limits: BlockSelectionLimits) -> Result<(BuiltBlock, ApplyResult), ProduceError>; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `tick_once`, `run_for_slots`, `run_until_height`, and `run_for_duration` are never used [INFO] [stdout] --> src/consensus/dev_loop.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl DevLoop where N: DevNode { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 26 | pub fn new(node: N, cfg: DevLoopConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn tick_once(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn run_for_slots(&mut self, n: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn run_until_height(&mut self, h: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn run_for_duration(&mut self, millis: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `avail_target_avails_per_block` and `min_avail` are never read [INFO] [stdout] --> src/fees.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct FeeParams { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 15 | pub avail_target_avails_per_block: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub min_avail: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FeeParams` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `burn_bps` is never read [INFO] [stdout] --> src/fees.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct FeeSplitBps { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 80 | pub burn_bps: u16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `vote`, `leader_id`, `due_ms`, and `retries` are never read [INFO] [stdout] --> src/node.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 27 | struct PendingVoteRetry { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 28 | vote: Vote, [INFO] [stdout] | ^^^^ [INFO] [stdout] 29 | leader_id: ValidatorId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 30 | due_ms: u128, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 31 | retries: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PendingVoteRetry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/node.rs:59:15 [INFO] [stdout] | [INFO] [stdout] 59 | Selection(SelectError), [INFO] [stdout] | --------- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProduceError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 59 - Selection(SelectError), [INFO] [stdout] 59 + Selection(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/node.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | HeaderBuild(String), [INFO] [stdout] | ----------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProduceError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 60 - HeaderBuild(String), [INFO] [stdout] 60 + HeaderBuild(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `slot`, `leader`, and `mine` are never read [INFO] [stdout] --> src/node.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 61 | NotProposer { [INFO] [stdout] | ----------- fields in this variant [INFO] [stdout] 62 | slot: u64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 63 | leader: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 64 | mine: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ProduceError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PacemakerConfig` is never constructed [INFO] [stdout] --> src/node.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct PacemakerConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConsensusConfig` is never constructed [INFO] [stdout] --> src/node.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct ConsensusConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `leader_miss` and `last_early_skip_view` are never read [INFO] [stdout] --> src/node.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct Node { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 113 | leader_miss: HashMap, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 114 | /// Avoid repeating early-skip within the same view [INFO] [stdout] 115 | last_early_skip_view: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/node.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 160 | impl Node { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 176 | fn process_pending_vote_retries(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn new_with_consensus( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 327 | fn collect_active_bls_pubkeys_in_order(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | fn resolve_my_validator_id(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 356 | fn load_best_qc_from_store(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 374 | pub fn with_vrf_signer(mut self, vrf: SchnorrkelVrfSigner) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 380 | pub fn set_consensus_network(&mut self, network: ConsensusNetwork) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 385 | pub fn consensus_network(&self) -> Option<&ConsensusNetwork> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 390 | pub fn hotstuff_mut(&mut self) -> Option<&mut HotStuff> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 395 | pub fn hotstuff(&self) -> Option<&HotStuff> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 400 | pub fn set_hotstuff(&mut self, hotstuff: HotStuff) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 514 | pub fn process_consensus_messages(&mut self) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 577 | pub fn process_consensus_message(&mut self, msg: crate::p2p::ConsensusMessage) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 712 | fn handle_vote(&mut self, vote: Vote, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 739 | fn handle_qc(&mut self, qc: QC, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 778 | fn handle_view_change(&mut self, view: u64, sender_id: ValidatorId, timeout_qc: Option) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 807 | pub fn check_pacemaker_timeout(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 974 | pub fn tip_hash(&self) -> Hash { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 978 | pub fn proposer_pubkey(&self) -> [u8; 32] { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 982 | pub fn fee_state(&self) -> &FeeState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 987 | pub fn current_slot(&self) -> u64 { self.chain.current_slot() } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 990 | pub fn slot_ms(&self) -> u64 { self.chain.clock.slot_ms } [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 993 | pub fn set_slot_ms(&mut self, ms: u64) { self.chain.clock.slot_ms = ms; } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1004 | pub fn set_commit_fee_base(&mut self, base: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1008 | pub fn burned_total(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1020 | pub fn rpc_insert_commit(&self, commit: CommitTx, fee_bid: u128) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1031 | pub fn rpc_insert_avail(&self, avail: AvailTx, fee_bid: u128) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1042 | pub fn rpc_insert_reveal(&self, reveal: RevealTx, fee_bid: u128) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1055 | pub fn credit_balance_direct(&mut self, addr: &str, amount: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1457 | pub fn debug_hotstuff_aggregators(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1465 | pub fn debug_parent_index_len(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1470 | pub fn debug_parent_index_sample(&self, limit: usize) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1475 | pub fn debug_block_store_sample(&self, limit: usize) -> Vec<(Hash, u64, u64, Hash, u64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1484 | pub fn debug_pending_commits(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1489 | pub fn debug_last_proposed_view(&self) -> Option { self.last_proposed_view } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1492 | pub fn debug_mempool_counts(&self) -> (usize, usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1497 | pub fn debug_last_apply_error(&self) -> Option { self.last_apply_error.clone() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1500 | pub fn debug_block_store_len(&self) -> usize { self.block_store.len() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fake_vrf_fields` is never used [INFO] [stdout] --> src/node.rs:1532:8 [INFO] [stdout] | [INFO] [stdout] 1532 | fn fake_vrf_fields(proposer_id: u64) -> ([u8; 32], Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `slash_history` is never read [INFO] [stdout] --> src/chain.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Chain { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 52 | pub slash_history: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `burned_total` is never read [INFO] [stdout] --> src/chain.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 69 | pub struct ApplyResult { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 75 | pub burned_total: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ApplyResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/chain.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 78 | impl Chain { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn current_slot_at(&self, now_ms: u128) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn current_slot(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | pub fn record_leader_miss(&mut self, vid: ValidatorId) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn update_randomness_with_block(&mut self, header: &crate::types::BlockHeader) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | pub fn add_threshold_share( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 835 | pub fn remove_threshold_shares(&mut self, commitment: &Hash) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 840 | pub fn can_decrypt_commitment(&self, commitment: &Hash) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 850 | pub fn cleanup_old_shares(&mut self, commitments: &crate::state::Commitments) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 879 | pub fn apply_slash(&mut self, evidence: &SlashingEvidence, cfg: &StakingConfig) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_block_vortex_ok` is never used [INFO] [stdout] --> src/chain.rs:1188:8 [INFO] [stdout] | [INFO] [stdout] 1188 | fn build_block_vortex_ok( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Jailed` is never constructed [INFO] [stdout] --> src/pos/registry.rs:8:46 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum ValidatorStatus { Active, Inactive, Jailed } [INFO] [stdout] | --------------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | variant in this enum [INFO] [stdout] | [INFO] [stdout] = note: `ValidatorStatus` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `unbonding_epochs` is never read [INFO] [stdout] --> src/pos/registry.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct StakingConfig { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 22 | pub min_stake: u128, [INFO] [stdout] 23 | pub unbonding_epochs: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StakingConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PosError` is never used [INFO] [stdout] --> src/pos/registry.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum PosError { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/pos/registry.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 42 | impl ValidatorSet { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 101 | fn get_mut(&mut self, id: ValidatorId) -> Option<&mut Validator> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn index_of(&self, id: ValidatorId) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn bond(&mut self, id: ValidatorId, amount: u128, _cfg: &StakingConfig) -> Result<(), PosError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn unbond(&mut self, id: ValidatorId, amount: u128, cfg: &StakingConfig) -> Result<(), PosError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn activate(&mut self, id: ValidatorId) -> Result<(), PosError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn deactivate(&mut self, id: ValidatorId) -> Result<(), PosError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn jail(&mut self, id: ValidatorId) -> Result<(), PosError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn recompute_total_stake(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `epoch` and `epoch_slots` are never used [INFO] [stdout] --> src/pos/schedule.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait ProposerSchedule { [INFO] [stdout] | ---------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 22 | fn epoch(&self) -> u64; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | fn epoch_slots(&self) -> u64; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/pos/schedule.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl AliasSchedule { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 46 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `P2PBehaviour` is never constructed [INFO] [stdout] --> src/p2p.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | struct P2PBehaviour { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `P2PEvent` is never used [INFO] [stdout] --> src/p2p.rs:66:6 [INFO] [stdout] | [INFO] [stdout] 66 | enum P2PEvent { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `P2PConfig` is never constructed [INFO] [stdout] --> src/p2p.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct P2PConfig { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/p2p.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct ConsensusNetwork { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 135 | message_rx: Arc>>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 136 | /// Channel sender for publishing messages [INFO] [stdout] 137 | message_tx: broadcast::Sender, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | peers: Arc>>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 142 | /// Reverse mapping validator -> peer (best known) [INFO] [stdout] 143 | validator_to_peer: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | local_peer_id: PeerId, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 147 | /// Discovery thresholds [INFO] [stdout] 148 | min_peers: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 149 | target_peers: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 150 | max_peers: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 151 | use_gossip_fallback: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConsensusNetwork` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/p2p.rs:157:22 [INFO] [stdout] | [INFO] [stdout] 157 | BroadcastMessage(ConsensusMessage), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `NetworkCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 157 - BroadcastMessage(ConsensusMessage), [INFO] [stdout] 157 + BroadcastMessage(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/p2p.rs:158:21 [INFO] [stdout] | [INFO] [stdout] 158 | SendToValidator(ValidatorId, ConsensusMessage), [INFO] [stdout] | --------------- ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `NetworkCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 158 - SendToValidator(ValidatorId, ConsensusMessage), [INFO] [stdout] 158 + SendToValidator((), ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ConnectPeer`, `GetConnectedPeers`, and `TriggerDiscovery` are never constructed [INFO] [stdout] --> src/p2p.rs:159:5 [INFO] [stdout] | [INFO] [stdout] 156 | enum NetworkCommand { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 159 | ConnectPeer(Multiaddr), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 160 | GetConnectedPeers, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 161 | TriggerDiscovery, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NetworkCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/p2p.rs:166:18 [INFO] [stdout] | [INFO] [stdout] 164 | impl ConsensusNetwork { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 165 | /// Create a new consensus network instance with P2P [INFO] [stdout] 166 | pub async fn new(validator_id: ValidatorId, config: P2PConfig) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn connect_peer(&self, addr: Multiaddr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 377 | pub fn broadcast_view_change(&self, view: u64, timeout_qc: Option) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 395 | pub fn try_recv_message(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | pub fn subscribe(&self) -> broadcast::Receiver { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | pub fn validator_id(&self) -> ValidatorId { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 437 | pub fn peer_id(&self) -> PeerId { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 442 | pub fn connected_peers(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 447 | pub fn peer_ids(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 452 | pub fn install_direct_peers(&self, map: HashMap>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NetworkTask` is never constructed [INFO] [stdout] --> src/p2p.rs:472:8 [INFO] [stdout] | [INFO] [stdout] 472 | struct NetworkTask { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/p2p.rs:487:14 [INFO] [stdout] | [INFO] [stdout] 486 | impl NetworkTask { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 487 | async fn run(mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 511 | async fn handle_command(&mut self, command: NetworkCommand) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 543 | async fn handle_swarm_event(&mut self, event: SwarmEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 598 | async fn handle_gossipsub_message(&mut self, source: PeerId, message: gossipsub::Message) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 619 | async fn broadcast_consensus_message(&mut self, msg: ConsensusMessage) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 639 | async fn send_to_validator(&mut self, _validator_id: ValidatorId, msg: ConsensusMessage) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 644 | async fn check_and_discover(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 653 | async fn run_discovery_round(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_test_network` is never used [INFO] [stdout] --> src/p2p.rs:669:14 [INFO] [stdout] | [INFO] [stdout] 669 | pub async fn create_test_network(validator_ids: Vec) -> Result, anyhow::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dummy_block` is never used [INFO] [stdout] --> src/p2p.rs:759:8 [INFO] [stdout] | [INFO] [stdout] 759 | fn dummy_block() -> Block { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:763:13 [INFO] [stdout] | [INFO] [stdout] 763 | drop(hs); [INFO] [stdout] | ^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut consensus::HotStuff` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 763 - drop(hs); [INFO] [stdout] 763 + let _ = hs; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:796:17 [INFO] [stdout] | [INFO] [stdout] 796 | drop(hotstuff); [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut consensus::HotStuff` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 796 - drop(hotstuff); [INFO] [stdout] 796 + let _ = hotstuff; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:849:25 [INFO] [stdout] | [INFO] [stdout] 849 | drop(hs2); [INFO] [stdout] | ^^^^^---^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut consensus::HotStuff` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 849 - drop(hs2); [INFO] [stdout] 849 + let _ = hs2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commitment` [INFO] [stdout] --> src/chain.rs:507:49 [INFO] [stdout] | [INFO] [stdout] 507 | Event::ThresholdShareReceived { commitment, validator_id: _ } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `commitment: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commitment` [INFO] [stdout] --> src/chain.rs:699:49 [INFO] [stdout] | [INFO] [stdout] 699 | Event::ThresholdShareReceived { commitment, validator_id: _ } => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `commitment: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proposer_id` [INFO] [stdout] --> src/chain.rs:2052:13 [INFO] [stdout] | [INFO] [stdout] 2052 | let proposer_id: u64 = 1; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proposer_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/chain.rs:2056:13 [INFO] [stdout] | [INFO] [stdout] 2056 | let mut build_block_vortex_ok = |chain: &Chain, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/chain.rs:2137:13 [INFO] [stdout] | [INFO] [stdout] 2137 | let mut build_block_vortex_raw = |chain: &Chain, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `epoch_seed` [INFO] [stdout] --> src/fees.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 392 | let epoch_seed = [7u8; 32]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_epoch_seed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/fees.rs:415:13 [INFO] [stdout] | [INFO] [stdout] 415 | let mut mk_header = |proposer_id: u64| { [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `l1-blockchain` (test "hotstuff_consensus"); 7 warnings emitted [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/b83b707f97d809763b7861afa7638871f3339a33/bin/rustc --crate-name hotstuff_consensus --edition=2024 tests/hotstuff_consensus.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test --cfg 'feature="default"' --cfg 'feature="vrf_deterministic"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "vrf_deterministic"))' -C metadata=8b0c16ab65932906 -C extra-filename=-1ec94c2a9f6fce7e --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-88c2c5723ab188c9.rlib --extern axum=/opt/rustwide/target/debug/deps/libaxum-f7a124f0473527d6.rlib --extern bitvec=/opt/rustwide/target/debug/deps/libbitvec-180f39495f94249f.rlib --extern blst=/opt/rustwide/target/debug/deps/libblst-287a45acc54dc038.rlib --extern ed25519_dalek=/opt/rustwide/target/debug/deps/libed25519_dalek-521767be7925e848.rlib --extern futures=/opt/rustwide/target/debug/deps/libfutures-7265c5118f5a82bf.rlib --extern hex=/opt/rustwide/target/debug/deps/libhex-28742b4ca144387c.rlib --extern l1_blockchain=/opt/rustwide/target/debug/deps/libl1_blockchain-df1bae483694bff8.rlib --extern libp2p=/opt/rustwide/target/debug/deps/liblibp2p-747aef2c6d712b00.rlib --extern proptest=/opt/rustwide/target/debug/deps/libproptest-5075ce301a576d80.rlib --extern rand=/opt/rustwide/target/debug/deps/librand-991226b41bdfb17a.rlib --extern schnorrkel=/opt/rustwide/target/debug/deps/libschnorrkel-91db03abd9f4b4cd.rlib --extern serde=/opt/rustwide/target/debug/deps/libserde-34717b7a6737012f.rlib --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-9e561f90a4768875.rlib --extern serde_with=/opt/rustwide/target/debug/deps/libserde_with-5a34f92c44854ab2.rlib --extern sha2=/opt/rustwide/target/debug/deps/libsha2-8a9fc360d1be0748.rlib --extern time=/opt/rustwide/target/debug/deps/libtime-ec7fe0ca646de65d.rlib --extern tokio=/opt/rustwide/target/debug/deps/libtokio-8e3028e22be13c63.rlib --extern tracing=/opt/rustwide/target/debug/deps/libtracing-38ef06ad2c05176d.rlib --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/blst-f1f9065700b79460/out -L native=/opt/rustwide/target/debug/build/ring-c6aedfe3806f6681/out` (signal: 9, SIGKILL: kill) [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/node.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 476 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/node.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 468 | Tx::Commit(c) => { [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 472 | Tx::Avail(a) => { [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 476 | _ => {} [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:622:50 [INFO] [stdout] | [INFO] [stdout] 622 | fn handle_proposal(&mut self, block: &Block, sender_id: ValidatorId) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:712:43 [INFO] [stdout] | [INFO] [stdout] 712 | fn handle_vote(&mut self, vote: Vote, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/node.rs:760:17 [INFO] [stdout] | [INFO] [stdout] 760 | let n = hs.validator_pks.len(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:739:37 [INFO] [stdout] | [INFO] [stdout] 739 | fn handle_qc(&mut self, qc: QC, sender_id: ValidatorId) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender_id` [INFO] [stdout] --> src/node.rs:778:49 [INFO] [stdout] | [INFO] [stdout] 778 | fn handle_view_change(&mut self, view: u64, sender_id: ValidatorId, timeout_qc: Option) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/node.rs:1218:13 [INFO] [stdout] | [INFO] [stdout] 1218 | let mut header = crate::types::BlockHeader { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CIPHERTEXT_SIZE` is never used [INFO] [stdout] --> src/mempool/encrypted.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const CIPHERTEXT_SIZE: usize = 48 + 96; // G1 point (48) + G2 signature (96) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_block_vortex_ok` is never used [INFO] [stdout] --> src/chain.rs:1188:8 [INFO] [stdout] | [INFO] [stdout] 1188 | fn build_block_vortex_ok( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fake_vrf_fields` is never used [INFO] [stdout] --> src/node.rs:1532:8 [INFO] [stdout] | [INFO] [stdout] 1532 | fn fake_vrf_fields(proposer_id: u64) -> ([u8; 32], Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `pending_len` is never used [INFO] [stdout] --> src/consensus/mod.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl VoteAggregator { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | fn pending_len(&self) -> usize { self.pending_indices.len() } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hex48` is never used [INFO] [stdout] --> src/rpc.rs:149:4 [INFO] [stdout] | [INFO] [stdout] 149 | fn hex48(s: &str) -> [u8; 48] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/p2p.rs:70:10 [INFO] [stdout] | [INFO] [stdout] 70 | Ping(ping::Event), [INFO] [stdout] | ---- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `P2PEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 70 - Ping(ping::Event), [INFO] [stdout] 70 + Ping(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/p2p.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | Kademlia(kad::Event), [INFO] [stdout] | -------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `P2PEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 71 - Kademlia(kad::Event), [INFO] [stdout] 71 + Kademlia(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `validator_to_peer` and `use_gossip_fallback` are never read [INFO] [stdout] --> src/p2p.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct ConsensusNetwork { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 143 | validator_to_peer: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | use_gossip_fallback: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConsensusNetwork` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `GetConnectedPeers` and `TriggerDiscovery` are never constructed [INFO] [stdout] --> src/p2p.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 156 | enum NetworkCommand { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 160 | GetConnectedPeers, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 161 | TriggerDiscovery, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NetworkCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `target_peers` and `max_peers` are never read [INFO] [stdout] --> src/p2p.rs:481:5 [INFO] [stdout] | [INFO] [stdout] 472 | struct NetworkTask { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 481 | target_peers: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 482 | max_peers: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dummy_block` is never used [INFO] [stdout] --> src/p2p.rs:759:8 [INFO] [stdout] | [INFO] [stdout] 759 | fn dummy_block() -> Block { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:763:13 [INFO] [stdout] | [INFO] [stdout] 763 | drop(hs); [INFO] [stdout] | ^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut consensus::HotStuff` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 763 - drop(hs); [INFO] [stdout] 763 + let _ = hs; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:796:17 [INFO] [stdout] | [INFO] [stdout] 796 | drop(hotstuff); [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut consensus::HotStuff` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 796 - drop(hotstuff); [INFO] [stdout] 796 + let _ = hotstuff; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/node.rs:849:25 [INFO] [stdout] | [INFO] [stdout] 849 | drop(hs2); [INFO] [stdout] | ^^^^^---^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut consensus::HotStuff` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 849 - drop(hs2); [INFO] [stdout] 849 + let _ = hs2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "517fbe5f53e34895308a9fef3605e5ee3dfcddcda29f17e3fb6b9220bcea8093", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "517fbe5f53e34895308a9fef3605e5ee3dfcddcda29f17e3fb6b9220bcea8093", kill_on_drop: false }` [INFO] [stdout] 517fbe5f53e34895308a9fef3605e5ee3dfcddcda29f17e3fb6b9220bcea8093