[INFO] cloning repository https://github.com/Afuh-Christian/ethereum_mempool_simulator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Afuh-Christian/ethereum_mempool_simulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAfuh-Christian%2Fethereum_mempool_simulator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAfuh-Christian%2Fethereum_mempool_simulator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9baa81d6583148c56ed7830cc561ca40dabbdc22
[INFO] checking Afuh-Christian/ethereum_mempool_simulator against 6e4b95ed0735c3bbfb308e6f158f479b4d14f1aa for pr-159356
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAfuh-Christian%2Fethereum_mempool_simulator" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Afuh-Christian/ethereum_mempool_simulator
[INFO] finished tweaking git repo https://github.com/Afuh-Christian/ethereum_mempool_simulator
[INFO] tweaked toml for git repo https://github.com/Afuh-Christian/ethereum_mempool_simulator written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Afuh-Christian/ethereum_mempool_simulator on toolchain 6e4b95ed0735c3bbfb308e6f158f479b4d14f1aa
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6e4b95ed0735c3bbfb308e6f158f479b4d14f1aa" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Afuh-Christian/ethereum_mempool_simulator 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" "+6e4b95ed0735c3bbfb308e6f158f479b4d14f1aa" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c36f533e8924a726b63f9d01e781fa8c8c28c96d1d595403829afb31452ee0f5" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a02f98c343338378664081f042060644ef06b09f022244180630601a06d2fb1b
[INFO] running `Command { std: "docker" "start" "a02f98c343338378664081f042060644ef06b09f022244180630601a06d2fb1b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a02f98c343338378664081f042060644ef06b09f022244180630601a06d2fb1b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a02f98c343338378664081f042060644ef06b09f022244180630601a06d2fb1b" "/opt/rustwide/cargo-home/bin/cargo" "+6e4b95ed0735c3bbfb308e6f158f479b4d14f1aa" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a02f98c343338378664081f042060644ef06b09f022244180630601a06d2fb1b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a02f98c343338378664081f042060644ef06b09f022244180630601a06d2fb1b" "/opt/rustwide/cargo-home/bin/cargo" "+6e4b95ed0735c3bbfb308e6f158f479b4d14f1aa" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]     Checking rand_core v0.10.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking chacha20 v0.10.0
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]     Checking ethereum_mempool_simulator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::models::transaction::Transaction`
[INFO] [stdout]  --> src/models/constants.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::models::transaction::Transaction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/models/mempool_.rs:1:54
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{BinaryHeap, HashMap}, time::{SystemTime, UNIX_EPOCH}};
[INFO] [stdout]   |                                                      ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tx_meta::TxMeta`
[INFO] [stdout]  --> src/models/mempool_.rs:3:123
[INFO] [stdout]   |
[INFO] [stdout] 3 | ..., mempool_entry::MempoolEntry, transaction::Transaction, tx_meta::TxMeta, utils::Utility};
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicU64`
[INFO] [stdout]  --> src/models/simulator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::atomic::AtomicU64;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `constants::Config`
[INFO] [stdout]  --> src/models/simulator.rs:3:50
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::models::{block_builder::BlockBuilder, constants::Config, fee_market::FeeMarket, mempool_::Mempool, network_event::Network,...
[INFO] [stdout]   |                                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/models/mempool_entry.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, time::{SystemTime, UNIX_EPOCH}};
[INFO] [stdout]   |                                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `address::Address`
[INFO] [stdout]  --> src/models/mempool_entry.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::models::{address::Address, transaction::Transaction};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::transaction::Transaction`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::models::transaction::Transaction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::transaction::Transaction`
[INFO] [stdout]  --> src/models/constants.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::models::transaction::Transaction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/models/mempool_.rs:1:54
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{BinaryHeap, HashMap}, time::{SystemTime, UNIX_EPOCH}};
[INFO] [stdout]   |                                                      ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tx_meta::TxMeta`
[INFO] [stdout]  --> src/models/mempool_.rs:3:123
[INFO] [stdout]   |
[INFO] [stdout] 3 | ..., mempool_entry::MempoolEntry, transaction::Transaction, tx_meta::TxMeta, utils::Utility};
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicU64`
[INFO] [stdout]  --> src/models/simulator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::atomic::AtomicU64;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `constants::Config`
[INFO] [stdout]  --> src/models/simulator.rs:3:50
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::models::{block_builder::BlockBuilder, constants::Config, fee_market::FeeMarket, mempool_::Mempool, network_event::Network,...
[INFO] [stdout]   |                                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/models/mempool_entry.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, time::{SystemTime, UNIX_EPOCH}};
[INFO] [stdout]   |                                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `address::Address`
[INFO] [stdout]  --> src/models/mempool_entry.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::models::{address::Address, transaction::Transaction};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::transaction::Transaction`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::models::transaction::Transaction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/models/mempool_.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let mut entry = MempoolEntry::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: variable does not need to be mutable
[INFO] [stdout]   --> src/models/mempool_.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let mut entry = MempoolEntry::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: `metrics`
[INFO] [stdout]   --> src/main.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let metrics = Metrics {
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metrics`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_TIME_SECS` is never used
[INFO] [stdout]  --> src/models/constants.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const BLOCK_TIME_SECS: u64 = 12;     // avg Ethereum block time
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SLOT_TIME_SECS` is never used
[INFO] [stdout]  --> src/models/constants.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const SLOT_TIME_SECS: u64 = 12;      // PoS slot time (same as block time)
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TARGET_GAS_PER_BLOCK` is never used
[INFO] [stdout]  --> src/models/constants.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const TARGET_GAS_PER_BLOCK: u64 = 15_000_000; // target
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_GAS_PER_BLOCK` is never used
[INFO] [stdout]  --> src/models/constants.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const MAX_GAS_PER_BLOCK: u64 = 30_000_000;    // hard cap (2x target)
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INITIAL_BASE_FEE` is never used
[INFO] [stdout]   --> src/models/constants.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INITIAL_BASE_FEE: u64 = 1_000_000_000; // 1 gwei
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_BASE_FEE` is never used
[INFO] [stdout]   --> src/models/constants.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const MIN_BASE_FEE: u64 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BASE_FEE_CHANGE_DENOM` is never used
[INFO] [stdout]   --> src/models/constants.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const MAX_BASE_FEE_CHANGE_DENOM: u64 = 8; // max 12.5% change per block
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_PRIORITY_FEE` is never used
[INFO] [stdout]   --> src/models/constants.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const MIN_PRIORITY_FEE: u64 = 1_000_000_000; // 1 gwei
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PRIORITY_FEE` is never used
[INFO] [stdout]   --> src/models/constants.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const MAX_PRIORITY_FEE: u64 = 100_000_000_000; // 100 gwei
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIMPLE_TX_GAS` is never used
[INFO] [stdout]   --> src/models/constants.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const SIMPLE_TX_GAS: u64 = 21_000;      // basic ETH transfer
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTRACT_TX_GAS_MIN` is never used
[INFO] [stdout]   --> src/models/constants.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const CONTRACT_TX_GAS_MIN: u64 = 50_000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTRACT_TX_GAS_MAX` is never used
[INFO] [stdout]   --> src/models/constants.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const CONTRACT_TX_GAS_MAX: u64 = 5_000_000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_MEMPOOL_TXS` is never used
[INFO] [stdout]   --> src/models/constants.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const MAX_MEMPOOL_TXS: usize = 300_000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_MEMPOOL_BYTES` is never used
[INFO] [stdout]   --> src/models/constants.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const MAX_MEMPOOL_BYTES: usize = 512 * 1024 * 1024; // ~512MB
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PENDING_PER_ACCOUNT` is never used
[INFO] [stdout]   --> src/models/constants.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const MAX_PENDING_PER_ACCOUNT: usize = 64;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REPLACEMENT_BUMP_PERCENT` is never used
[INFO] [stdout]   --> src/models/constants.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const REPLACEMENT_BUMP_PERCENT: u64 = 10;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TX_TTL_SECS` is never used
[INFO] [stdout]   --> src/models/constants.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const TX_TTL_SECS: u64 = 3 * 60 * 60; // ~3 hours
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_EFFECTIVE_GAS_PRICE` is never used
[INFO] [stdout]   --> src/models/constants.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const MIN_EFFECTIVE_GAS_PRICE: u64 = 1_000_000_000; // 1 gwei floor
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVICT_BATCH_SIZE` is never used
[INFO] [stdout]   --> src/models/constants.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const EVICT_BATCH_SIZE: usize = 5_000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_NONCE_GAP` is never used
[INFO] [stdout]   --> src/models/constants.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const MAX_NONCE_GAP: u64 = 64;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_LATENCY_MS` is never used
[INFO] [stdout]   --> src/models/constants.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const MIN_LATENCY_MS: u64 = 50;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_LATENCY_MS` is never used
[INFO] [stdout]   --> src/models/constants.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const MAX_LATENCY_MS: u64 = 400;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GOSSIP_DUPLICATE_RATE` is never used
[INFO] [stdout]   --> src/models/constants.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const GOSSIP_DUPLICATE_RATE: f64 = 0.1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metrics`
[INFO] [stdout]   --> src/main.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let metrics = Metrics {
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metrics`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TARGET_TPS` is never used
[INFO] [stdout]   --> src/models/constants.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const TARGET_TPS: usize = 15;   // normal conditions
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BURST_TPS` is never used
[INFO] [stdout]   --> src/models/constants.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const BURST_TPS: usize = 200;   // during spikes
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Config` is never constructed
[INFO] [stdout]   --> src/models/constants.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Config {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReplacementInfo` is never constructed
[INFO] [stdout]   --> src/models/constants.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct ReplacementInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]   --> src/models/transaction.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct Transaction {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub timestamp: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Transaction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_TIME_SECS` is never used
[INFO] [stdout]  --> src/models/constants.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const BLOCK_TIME_SECS: u64 = 12;     // avg Ethereum block time
[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 `TxMeta` is never constructed
[INFO] [stdout]  --> src/models/tx_meta.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TxMeta {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SLOT_TIME_SECS` is never used
[INFO] [stdout]  --> src/models/constants.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const SLOT_TIME_SECS: u64 = 12;      // PoS slot time (same as block time)
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `address` is never read
[INFO] [stdout]  --> src/models/account_state.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct AccountState {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 6 |     pub address: Address,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TARGET_GAS_PER_BLOCK` is never used
[INFO] [stdout]  --> src/models/constants.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const TARGET_GAS_PER_BLOCK: u64 = 15_000_000; // target
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_GAS_PER_BLOCK` is never used
[INFO] [stdout]  --> src/models/constants.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const MAX_GAS_PER_BLOCK: u64 = 30_000_000;    // hard cap (2x target)
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_nonce` is never used
[INFO] [stdout]   --> src/models/account_state.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl AccountState {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |         pub fn has_nonce(&self, nonce: u64) -> bool {
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INITIAL_BASE_FEE` is never used
[INFO] [stdout]   --> src/models/constants.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const INITIAL_BASE_FEE: u64 = 1_000_000_000; // 1 gwei
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_size` is never read
[INFO] [stdout]   --> src/models/mempool_.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Mempool {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub max_size: usize,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_BASE_FEE` is never used
[INFO] [stdout]   --> src/models/constants.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const MIN_BASE_FEE: u64 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BASE_FEE_CHANGE_DENOM` is never used
[INFO] [stdout]   --> src/models/constants.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const MAX_BASE_FEE_CHANGE_DENOM: u64 = 8; // max 12.5% change per block
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_PRIORITY_FEE` is never used
[INFO] [stdout]   --> src/models/constants.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const MIN_PRIORITY_FEE: u64 = 1_000_000_000; // 1 gwei
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `handle_replacement`, `promote_to_executable`, `evict_low_priority`, and `get_tx` are never used
[INFO] [stdout]    --> src/models/mempool_.rs:67:16
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl Mempool {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  67 |         pub fn handle_replacement(&mut self, tx: Transaction) -> bool {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |         pub fn promote_to_executable(&mut self, entry: MempoolEntry) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |         pub fn evict_low_priority(&mut self) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |         pub fn get_tx(&self, hash: u64) -> Option<&MempoolEntry> {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PRIORITY_FEE` is never used
[INFO] [stdout]   --> src/models/constants.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const MAX_PRIORITY_FEE: u64 = 100_000_000_000; // 100 gwei
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NetworkEvent` is never used
[INFO] [stdout]  --> src/models/network_event.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum NetworkEvent {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIMPLE_TX_GAS` is never used
[INFO] [stdout]   --> src/models/constants.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const SIMPLE_TX_GAS: u64 = 21_000;      // basic ETH transfer
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_gas` is never read
[INFO] [stdout]  --> src/models/fee_market.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct FeeMarket {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 5 |     pub max_gas: u64,    // e.g. 30M
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTRACT_TX_GAS_MIN` is never used
[INFO] [stdout]   --> src/models/constants.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const CONTRACT_TX_GAS_MIN: u64 = 50_000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTRACT_TX_GAS_MAX` is never used
[INFO] [stdout]   --> src/models/constants.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const CONTRACT_TX_GAS_MAX: u64 = 5_000_000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `running` is never read
[INFO] [stdout]   --> src/models/simulator.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Simulator {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub running: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run` is never used
[INFO] [stdout]   --> src/models/simulator.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Simulator {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 32 |     pub fn run(&mut self) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_effective_fee` is never used
[INFO] [stdout]   --> src/models/mempool_entry.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl MempoolEntry {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn update_effective_fee(&mut self, base_fee: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total_received`, `total_included`, `total_dropped`, `latencies`, `max_samples`, and `avg_latency` are never read
[INFO] [stdout]   --> src/models/metrix.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Metrics {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout]  4 |     // Counters
[INFO] [stdout]  5 |     pub total_received: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]  6 |     pub total_included: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]  7 |     pub total_dropped: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub latencies: VecDeque<u64>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 11 |     pub max_samples: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub avg_latency: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_tx_received`, `record_tx_included`, `record_tx_dropped`, and `update_latency` are never used
[INFO] [stdout]   --> src/models/metrix.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Metrics {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 18 |     pub fn record_tx_received(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |         pub fn record_tx_included(&mut self) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |         pub fn record_tx_dropped(&mut self) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |         pub fn update_latency(&mut self, latency: u64) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_MEMPOOL_TXS` is never used
[INFO] [stdout]   --> src/models/constants.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const MAX_MEMPOOL_TXS: usize = 300_000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_MEMPOOL_BYTES` is never used
[INFO] [stdout]   --> src/models/constants.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const MAX_MEMPOOL_BYTES: usize = 512 * 1024 * 1024; // ~512MB
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PENDING_PER_ACCOUNT` is never used
[INFO] [stdout]   --> src/models/constants.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const MAX_PENDING_PER_ACCOUNT: usize = 64;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REPLACEMENT_BUMP_PERCENT` is never used
[INFO] [stdout]   --> src/models/constants.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const REPLACEMENT_BUMP_PERCENT: u64 = 10;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TX_TTL_SECS` is never used
[INFO] [stdout]   --> src/models/constants.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const TX_TTL_SECS: u64 = 3 * 60 * 60; // ~3 hours
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_EFFECTIVE_GAS_PRICE` is never used
[INFO] [stdout]   --> src/models/constants.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const MIN_EFFECTIVE_GAS_PRICE: u64 = 1_000_000_000; // 1 gwei floor
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVICT_BATCH_SIZE` is never used
[INFO] [stdout]   --> src/models/constants.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const EVICT_BATCH_SIZE: usize = 5_000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_NONCE_GAP` is never used
[INFO] [stdout]   --> src/models/constants.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const MAX_NONCE_GAP: u64 = 64;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_LATENCY_MS` is never used
[INFO] [stdout]   --> src/models/constants.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const MIN_LATENCY_MS: u64 = 50;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_LATENCY_MS` is never used
[INFO] [stdout]   --> src/models/constants.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const MAX_LATENCY_MS: u64 = 400;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GOSSIP_DUPLICATE_RATE` is never used
[INFO] [stdout]   --> src/models/constants.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const GOSSIP_DUPLICATE_RATE: f64 = 0.1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TARGET_TPS` is never used
[INFO] [stdout]   --> src/models/constants.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const TARGET_TPS: usize = 15;   // normal conditions
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BURST_TPS` is never used
[INFO] [stdout]   --> src/models/constants.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const BURST_TPS: usize = 200;   // during spikes
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Config` is never constructed
[INFO] [stdout]   --> src/models/constants.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Config {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReplacementInfo` is never constructed
[INFO] [stdout]   --> src/models/constants.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct ReplacementInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]   --> src/models/transaction.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct Transaction {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub timestamp: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Transaction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TxMeta` is never constructed
[INFO] [stdout]  --> src/models/tx_meta.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TxMeta {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `address` is never read
[INFO] [stdout]  --> src/models/account_state.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct AccountState {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 6 |     pub address: Address,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_nonce` is never used
[INFO] [stdout]   --> src/models/account_state.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl AccountState {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |         pub fn has_nonce(&self, nonce: u64) -> bool {
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_size` is never read
[INFO] [stdout]   --> src/models/mempool_.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Mempool {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub max_size: usize,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `handle_replacement`, `promote_to_executable`, `evict_low_priority`, and `get_tx` are never used
[INFO] [stdout]    --> src/models/mempool_.rs:67:16
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl Mempool {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  67 |         pub fn handle_replacement(&mut self, tx: Transaction) -> bool {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |         pub fn promote_to_executable(&mut self, entry: MempoolEntry) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |         pub fn evict_low_priority(&mut self) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |         pub fn get_tx(&self, hash: u64) -> Option<&MempoolEntry> {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NetworkEvent` is never used
[INFO] [stdout]  --> src/models/network_event.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum NetworkEvent {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_gas` is never read
[INFO] [stdout]  --> src/models/fee_market.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct FeeMarket {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 5 |     pub max_gas: u64,    // e.g. 30M
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `running` is never read
[INFO] [stdout]   --> src/models/simulator.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Simulator {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub running: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run` is never used
[INFO] [stdout]   --> src/models/simulator.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Simulator {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 32 |     pub fn run(&mut self) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_effective_fee` is never used
[INFO] [stdout]   --> src/models/mempool_entry.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl MempoolEntry {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn update_effective_fee(&mut self, base_fee: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total_received`, `total_included`, `total_dropped`, `latencies`, `max_samples`, and `avg_latency` are never read
[INFO] [stdout]   --> src/models/metrix.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Metrics {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout]  4 |     // Counters
[INFO] [stdout]  5 |     pub total_received: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]  6 |     pub total_included: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]  7 |     pub total_dropped: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub latencies: VecDeque<u64>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 11 |     pub max_samples: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub avg_latency: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_tx_received`, `record_tx_included`, `record_tx_dropped`, and `update_latency` are never used
[INFO] [stdout]   --> src/models/metrix.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Metrics {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 18 |     pub fn record_tx_received(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |         pub fn record_tx_included(&mut self) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |         pub fn record_tx_dropped(&mut self) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |         pub fn update_latency(&mut self, latency: u64) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.49s
[INFO] running `Command { std: "docker" "inspect" "a02f98c343338378664081f042060644ef06b09f022244180630601a06d2fb1b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a02f98c343338378664081f042060644ef06b09f022244180630601a06d2fb1b", kill_on_drop: false }`
[INFO] [stdout] a02f98c343338378664081f042060644ef06b09f022244180630601a06d2fb1b
