[INFO] fetching crate kaspa-sdk 0.2.0...
[INFO] testing kaspa-sdk-0.2.0 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate kaspa-sdk 0.2.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate kaspa-sdk 0.2.0
[INFO] finished tweaking crates.io crate kaspa-sdk 0.2.0
[INFO] tweaked toml for crates.io crate kaspa-sdk 0.2.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate kaspa-sdk 0.2.0 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate kaspa-sdk 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded base58 v0.2.0
[INFO] [stderr]   Downloaded bech32 v0.9.1
[INFO] [stderr]   Downloaded cc v1.2.43
[INFO] [stderr]   Downloaded secp256k1 v0.27.0
[INFO] [stderr]   Downloaded secp256k1-sys v0.8.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] eaa3acbcddd6878dd64053eb5b7d2941a4a550f239eaa469ce6bbc1da17b34f4
[INFO] running `Command { std: "docker" "start" "-a" "eaa3acbcddd6878dd64053eb5b7d2941a4a550f239eaa469ce6bbc1da17b34f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eaa3acbcddd6878dd64053eb5b7d2941a4a550f239eaa469ce6bbc1da17b34f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eaa3acbcddd6878dd64053eb5b7d2941a4a550f239eaa469ce6bbc1da17b34f4", kill_on_drop: false }`
[INFO] [stdout] eaa3acbcddd6878dd64053eb5b7d2941a4a550f239eaa469ce6bbc1da17b34f4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f5394a71fbf6b4d927e69049d1271e0ffe1c8ff413ddad91322d42cc5cf6a23b
[INFO] running `Command { std: "docker" "start" "-a" "f5394a71fbf6b4d927e69049d1271e0ffe1c8ff413ddad91322d42cc5cf6a23b", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling openssl v0.10.74
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling cc v1.2.43
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling ripemd v0.1.3
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling bs58 v0.5.1
[INFO] [stderr]    Compiling bech32 v0.9.1
[INFO] [stderr]    Compiling base58 v0.2.0
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling seahash v4.1.0
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling indexmap v2.12.0
[INFO] [stderr]    Compiling openssl-sys v0.9.110
[INFO] [stderr]    Compiling secp256k1-sys v0.8.2
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling secp256k1 v0.27.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.3
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[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 tokio-util v0.7.16
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tungstenite v0.20.1
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling tokio-tungstenite v0.20.1
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling kaspa-sdk v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/mem.rs:186:52
[INFO] [stdout]     |
[INFO] [stdout] 185 | ...                   original_tx_id: todo!(),
[INFO] [stdout]     |                                       ------- any code following this expression is unreachable
[INFO] [stdout] 186 | ...                   replacement_tx_id: todo!(),
[INFO] [stdout]     |                                          ^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let mut total_block_size = 0;
[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: `fee_increase_percent`
[INFO] [stdout]    --> src/mem.rs:182:33
[INFO] [stdout]     |
[INFO] [stdout] 182 | ...                   let fee_increase_percent =
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fee_increase_percent`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low_fee`
[INFO] [stdout]    --> src/mem.rs:469:13
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let low_fee = fees[fees.len() / 4]; // 25%
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_low_fee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `medium_fee`
[INFO] [stdout]    --> src/mem.rs:470:13
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let medium_fee = fees[fees.len() / 2]; // 50%
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_medium_fee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `high_fee`
[INFO] [stdout]    --> src/mem.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let high_fee = fees[(fees.len() * 3) / 4]; // 75%
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_high_fee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `utxo`
[INFO] [stdout]    --> src/wallet.rs:154:27
[INFO] [stdout]     |
[INFO] [stdout] 154 |             utxos.retain(|utxo| true);
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_utxo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outpoint`
[INFO] [stdout]    --> src/wallet.rs:152:50
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn remove_utxo(&mut self, address: &str, outpoint: &Outpoint) -> Result<()> {
[INFO] [stdout]     |                                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outpoint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keypair`
[INFO] [stdout]    --> src/wallet.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let keypair = self
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keypair`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `utxo`
[INFO] [stdout]    --> src/wallet.rs:230:21
[INFO] [stdout]     |
[INFO] [stdout] 230 |         for (index, utxo) in utxos.iter().enumerate() {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_utxo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `utxo`
[INFO] [stdout]    --> src/lib.rs:614:41
[INFO] [stdout]     |
[INFO] [stdout] 614 |             "inputs": utxos.iter().map(|utxo| {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_utxo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fee_per_byte`
[INFO] [stdout]    --> src/lib.rs:597:9
[INFO] [stdout]     |
[INFO] [stdout] 597 |         fee_per_byte: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fee_per_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `public_key_to_bech32_address` is never used
[INFO] [stdout]   --> src/wallet.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Wallet {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     fn public_key_to_bech32_address(&self, public_key: &PublicKey) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `derivation_path` is never read
[INFO] [stdout]    --> src/wallet.rs:392:5
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub struct HDWallet {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 392 |     derivation_path: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.54s
[INFO] running `Command { std: "docker" "inspect" "f5394a71fbf6b4d927e69049d1271e0ffe1c8ff413ddad91322d42cc5cf6a23b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f5394a71fbf6b4d927e69049d1271e0ffe1c8ff413ddad91322d42cc5cf6a23b", kill_on_drop: false }`
[INFO] [stdout] f5394a71fbf6b4d927e69049d1271e0ffe1c8ff413ddad91322d42cc5cf6a23b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 058d5f1b454680117c22baab4cc2b828885f3966b99563b420cbd02a70520086
[INFO] running `Command { std: "docker" "start" "-a" "058d5f1b454680117c22baab4cc2b828885f3966b99563b420cbd02a70520086", kill_on_drop: false }`
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/mem.rs:186:52
[INFO] [stdout]     |
[INFO] [stdout] 185 | ...                   original_tx_id: todo!(),
[INFO] [stdout]     |                                       ------- any code following this expression is unreachable
[INFO] [stdout] 186 | ...                   replacement_tx_id: todo!(),
[INFO] [stdout]     |                                          ^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let mut total_block_size = 0;
[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: `fee_increase_percent`
[INFO] [stdout]    --> src/mem.rs:182:33
[INFO] [stdout]     |
[INFO] [stdout] 182 | ...                   let fee_increase_percent =
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fee_increase_percent`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low_fee`
[INFO] [stdout]    --> src/mem.rs:469:13
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let low_fee = fees[fees.len() / 4]; // 25%
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_low_fee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `medium_fee`
[INFO] [stdout]    --> src/mem.rs:470:13
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let medium_fee = fees[fees.len() / 2]; // 50%
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_medium_fee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `high_fee`
[INFO] [stdout]    --> src/mem.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let high_fee = fees[(fees.len() * 3) / 4]; // 75%
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_high_fee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `utxo`
[INFO] [stdout]    --> src/wallet.rs:154:27
[INFO] [stdout]     |
[INFO] [stdout] 154 |             utxos.retain(|utxo| true);
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_utxo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outpoint`
[INFO] [stdout]    --> src/wallet.rs:152:50
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn remove_utxo(&mut self, address: &str, outpoint: &Outpoint) -> Result<()> {
[INFO] [stdout]     |                                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outpoint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keypair`
[INFO] [stdout]    --> src/wallet.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let keypair = self
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keypair`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `utxo`
[INFO] [stdout]    --> src/wallet.rs:230:21
[INFO] [stdout]     |
[INFO] [stdout] 230 |         for (index, utxo) in utxos.iter().enumerate() {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_utxo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling kaspa-sdk v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `utxo`
[INFO] [stdout]    --> src/lib.rs:614:41
[INFO] [stdout]     |
[INFO] [stdout] 614 |             "inputs": utxos.iter().map(|utxo| {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_utxo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fee_per_byte`
[INFO] [stdout]    --> src/lib.rs:597:9
[INFO] [stdout]     |
[INFO] [stdout] 597 |         fee_per_byte: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fee_per_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `public_key_to_bech32_address` is never used
[INFO] [stdout]   --> src/wallet.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Wallet {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     fn public_key_to_bech32_address(&self, public_key: &PublicKey) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `derivation_path` is never read
[INFO] [stdout]    --> src/wallet.rs:392:5
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub struct HDWallet {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 392 |     derivation_path: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/mem.rs:186:52
[INFO] [stdout]     |
[INFO] [stdout] 185 | ...                   original_tx_id: todo!(),
[INFO] [stdout]     |                                       ------- any code following this expression is unreachable
[INFO] [stdout] 186 | ...                   replacement_tx_id: todo!(),
[INFO] [stdout]     |                                          ^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let mut total_block_size = 0;
[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: `fee_increase_percent`
[INFO] [stdout]    --> src/mem.rs:182:33
[INFO] [stdout]     |
[INFO] [stdout] 182 | ...                   let fee_increase_percent =
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fee_increase_percent`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low_fee`
[INFO] [stdout]    --> src/mem.rs:469:13
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let low_fee = fees[fees.len() / 4]; // 25%
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_low_fee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `medium_fee`
[INFO] [stdout]    --> src/mem.rs:470:13
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let medium_fee = fees[fees.len() / 2]; // 50%
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_medium_fee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `high_fee`
[INFO] [stdout]    --> src/mem.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let high_fee = fees[(fees.len() * 3) / 4]; // 75%
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_high_fee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `utxo`
[INFO] [stdout]    --> src/wallet.rs:154:27
[INFO] [stdout]     |
[INFO] [stdout] 154 |             utxos.retain(|utxo| true);
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_utxo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outpoint`
[INFO] [stdout]    --> src/wallet.rs:152:50
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn remove_utxo(&mut self, address: &str, outpoint: &Outpoint) -> Result<()> {
[INFO] [stdout]     |                                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outpoint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keypair`
[INFO] [stdout]    --> src/wallet.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let keypair = self
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keypair`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `utxo`
[INFO] [stdout]    --> src/wallet.rs:230:21
[INFO] [stdout]     |
[INFO] [stdout] 230 |         for (index, utxo) in utxos.iter().enumerate() {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_utxo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `utxo`
[INFO] [stdout]    --> src/lib.rs:614:41
[INFO] [stdout]     |
[INFO] [stdout] 614 |             "inputs": utxos.iter().map(|utxo| {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_utxo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fee_per_byte`
[INFO] [stdout]    --> src/lib.rs:597:9
[INFO] [stdout]     |
[INFO] [stdout] 597 |         fee_per_byte: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fee_per_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `public_key_to_bech32_address` is never used
[INFO] [stdout]   --> src/wallet.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Wallet {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     fn public_key_to_bech32_address(&self, public_key: &PublicKey) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `derivation_path` is never read
[INFO] [stdout]    --> src/wallet.rs:392:5
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub struct HDWallet {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 392 |     derivation_path: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.09s
[INFO] running `Command { std: "docker" "inspect" "058d5f1b454680117c22baab4cc2b828885f3966b99563b420cbd02a70520086", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "058d5f1b454680117c22baab4cc2b828885f3966b99563b420cbd02a70520086", kill_on_drop: false }`
[INFO] [stdout] 058d5f1b454680117c22baab4cc2b828885f3966b99563b420cbd02a70520086
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 80410570a649d76d93c90d1e9c0859ab59764131de9a90fa6f00ff83ffbd5ffa
[INFO] running `Command { std: "docker" "start" "-a" "80410570a649d76d93c90d1e9c0859ab59764131de9a90fa6f00ff83ffbd5ffa", kill_on_drop: false }`
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/mem.rs:186:52
[INFO] [stderr]     |
[INFO] [stderr] 185 | ...                   original_tx_id: todo!(),
[INFO] [stderr]     |                                       ------- any code following this expression is unreachable
[INFO] [stderr] 186 | ...                   replacement_tx_id: todo!(),
[INFO] [stderr]     |                                          ^^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:124:13
[INFO] [stderr]     |
[INFO] [stderr] 124 |         let mut total_block_size = 0;
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fee_increase_percent`
[INFO] [stderr]    --> src/mem.rs:182:33
[INFO] [stderr]     |
[INFO] [stderr] 182 | ...                   let fee_increase_percent =
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fee_increase_percent`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `low_fee`
[INFO] [stderr]    --> src/mem.rs:469:13
[INFO] [stderr]     |
[INFO] [stderr] 469 |         let low_fee = fees[fees.len() / 4]; // 25%
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_low_fee`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `medium_fee`
[INFO] [stderr]    --> src/mem.rs:470:13
[INFO] [stderr]     |
[INFO] [stderr] 470 |         let medium_fee = fees[fees.len() / 2]; // 50%
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_medium_fee`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `high_fee`
[INFO] [stderr]    --> src/mem.rs:471:13
[INFO] [stderr]     |
[INFO] [stderr] 471 |         let high_fee = fees[(fees.len() * 3) / 4]; // 75%
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_high_fee`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `utxo`
[INFO] [stderr]    --> src/wallet.rs:154:27
[INFO] [stderr]     |
[INFO] [stderr] 154 |             utxos.retain(|utxo| true);
[INFO] [stderr]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_utxo`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `outpoint`
[INFO] [stderr]    --> src/wallet.rs:152:50
[INFO] [stderr]     |
[INFO] [stderr] 152 |     pub fn remove_utxo(&mut self, address: &str, outpoint: &Outpoint) -> Result<()> {
[INFO] [stderr]     |                                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outpoint`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `keypair`
[INFO] [stderr]    --> src/wallet.rs:167:13
[INFO] [stderr]     |
[INFO] [stderr] 167 |         let keypair = self
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keypair`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `utxo`
[INFO] [stderr]    --> src/wallet.rs:230:21
[INFO] [stderr]     |
[INFO] [stderr] 230 |         for (index, utxo) in utxos.iter().enumerate() {
[INFO] [stderr]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_utxo`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `utxo`
[INFO] [stderr]    --> src/lib.rs:614:41
[INFO] [stderr]     |
[INFO] [stderr] 614 |             "inputs": utxos.iter().map(|utxo| {
[INFO] [stderr]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_utxo`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fee_per_byte`
[INFO] [stderr]    --> src/lib.rs:597:9
[INFO] [stderr]     |
[INFO] [stderr] 597 |         fee_per_byte: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fee_per_byte`
[INFO] [stderr] 
[INFO] [stderr] warning: method `public_key_to_bech32_address` is never used
[INFO] [stderr]   --> src/wallet.rs:83:8
[INFO] [stderr]    |
[INFO] [stderr] 27 | impl Wallet {
[INFO] [stderr]    | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 83 |     fn public_key_to_bech32_address(&self, public_key: &PublicKey) -> Result<String> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `derivation_path` is never read
[INFO] [stderr]    --> src/wallet.rs:392:5
[INFO] [stderr]     |
[INFO] [stderr] 389 | pub struct HDWallet {
[INFO] [stderr]     |            -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 392 |     derivation_path: String,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `kaspa-sdk` (lib) generated 14 warnings (run `cargo fix --lib -p kaspa-sdk` to apply 11 suggestions)
[INFO] [stderr] warning: `kaspa-sdk` (lib test) generated 14 warnings (14 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kaspa_sdk-e52e99c4469299ed)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests kaspa_sdk
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test src/events.rs - events::KaspaEventListener::stop (line 217) ... FAILED
[INFO] [stdout] test src/lib.rs - KaspaClient::analyze_address_clusters (line 204) ... FAILED
[INFO] [stdout] test src/events.rs - events::KaspaEventListener::new (line 112) ... FAILED
[INFO] [stdout] test src/mem.rs - mem::MemPool::detect_transaction_anomalies (line 257) ... FAILED
[INFO] [stdout] test src/mem.rs - mem::MemPool::predict_mempool_evolution (line 323) ... FAILED
[INFO] [stdout] test src/mem.rs - mem::MemPool::mock_mempool_stress (line 363) ... FAILED
[INFO] [stdout] test src/events.rs - events::KaspaEventListener::subscribe (line 151) ... FAILED
[INFO] [stdout] test src/mem.rs - mem::MemPool::get_mempool (line 111) ... FAILED
[INFO] [stdout] test src/events.rs - events::KaspaEventListener::unsubscribe_from_address (line 426) ... FAILED
[INFO] [stdout] test src/mem.rs - mem::MemPool (line 10) ... FAILED
[INFO] [stdout] test src/events.rs - events::KaspaEventListener::start (line 184) ... FAILED
[INFO] [stdout] test src/events.rs - events::KaspaEventListener::subscribe_to_address (line 414) ... FAILED
[INFO] [stdout] test src/events.rs - events::KaspaEventListener::add_event_handler (line 165) ... FAILED
[INFO] [stdout] test src/mem.rs - mem::MemPool::new (line 96) ... FAILED
[INFO] [stdout] test src/events.rs - events::KaspaEventListener::from_config (line 130) ... FAILED
[INFO] [stdout] test src/monitor.rs - monitor::NetworkMonitor (line 9) ... FAILED
[INFO] [stdout] test src/monitor.rs - monitor::NetworkMonitor::generate_health_report (line 136) ... FAILED
[INFO] [stdout] test src/monitor.rs - monitor::NetworkMonitor::new (line 51) ... FAILED
[INFO] [stdout] test src/monitor.rs - monitor::NetworkMonitor::start_monitoring (line 67) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/events.rs - events::KaspaEventListener::stop (line 217) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `listener` in this scope
[INFO] [stdout]    --> src/events.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | listener.stop().await;
[INFO] [stdout]     | ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/events.rs:218:17
[INFO] [stdout]     |
[INFO] [stdout] 217 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_events_rs_217_0() {
[INFO] [stdout]     |                                      -------------------------------------- this is not `async`
[INFO] [stdout] 218 | listener.stop().await;
[INFO] [stdout]     |                 ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - KaspaClient::analyze_address_clusters (line 204) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KaspaClient`
[INFO] [stdout]    --> src/lib.rs:205:14
[INFO] [stdout]     |
[INFO] [stdout] 205 | let client = KaspaClient::new("http://localhost:16110");
[INFO] [stdout]     |              ^^^^^^^^^^^ use of undeclared type `KaspaClient`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 204 + use kaspa_sdk::KaspaClient;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/lib.rs:206:53
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_204_0() {
[INFO] [stdout]     |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 205 | let client = KaspaClient::new("http://localhost:16110");
[INFO] [stdout] 206 | let clusters = client.analyze_address_clusters(500).await?;
[INFO] [stdout]     |                                                     ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]    --> src/lib.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 | .filter(|(_, addresses)| {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 210 |      // Detection characteristics
[INFO] [stdout] 211 |       addresses.len() > 20
[INFO] [stdout]     |       --------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 209 | .filter(|(_, addresses): (_, _)| {
[INFO] [stdout]     |                        ++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/events.rs - events::KaspaEventListener::new (line 112) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KaspaEventListener`
[INFO] [stdout]    --> src/events.rs:113:16
[INFO] [stdout]     |
[INFO] [stdout] 113 | let listener = KaspaEventListener::new();
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^ use of undeclared type `KaspaEventListener`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 112 + use kaspa_sdk::events::KaspaEventListener;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/mem.rs - mem::MemPool::detect_transaction_anomalies (line 257) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `mempool` in this scope
[INFO] [stdout]    --> src/mem.rs:258:17
[INFO] [stdout]     |
[INFO] [stdout] 258 | let anomalies = mempool.detect_transaction_anomalies().await?;
[INFO] [stdout]     |                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/mem.rs:258:56
[INFO] [stdout]     |
[INFO] [stdout] 257 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mem_rs_257_0() {
[INFO] [stdout]     |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 258 | let anomalies = mempool.detect_transaction_anomalies().await?;
[INFO] [stdout]     |                                                        ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/mem.rs - mem::MemPool::predict_mempool_evolution (line 323) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `mempool` in this scope
[INFO] [stdout]    --> src/mem.rs:324:18
[INFO] [stdout]     |
[INFO] [stdout] 324 | let prediction = mempool.predict_mempool_evolution(Duration::from_secs(3600)).await?;
[INFO] [stdout]     |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]    --> src/mem.rs:324:52
[INFO] [stdout]     |
[INFO] [stdout] 324 | let prediction = mempool.predict_mempool_evolution(Duration::from_secs(3600)).await?;
[INFO] [stdout]     |                                                    ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 323 + use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 323 + use chrono::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 323 + use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/mem.rs:324:79
[INFO] [stdout]     |
[INFO] [stdout] 323 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mem_rs_323_0() {
[INFO] [stdout]     |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 324 | let prediction = mempool.predict_mempool_evolution(Duration::from_secs(3600)).await?;
[INFO] [stdout]     |                                                                               ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/mem.rs - mem::MemPool::mock_mempool_stress (line 363) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `mempool` in this scope
[INFO] [stdout]    --> src/mem.rs:364:19
[INFO] [stdout]     |
[INFO] [stdout] 364 | let stress_test = mempool.mock_mempool_stress(100.0, Duration::from_secs(300)).await?;
[INFO] [stdout]     |                   ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]    --> src/mem.rs:364:54
[INFO] [stdout]     |
[INFO] [stdout] 364 | let stress_test = mempool.mock_mempool_stress(100.0, Duration::from_secs(300)).await?;
[INFO] [stdout]     |                                                      ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 363 + use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 363 + use chrono::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 363 + use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/mem.rs:364:80
[INFO] [stdout]     |
[INFO] [stdout] 363 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mem_rs_363_0() {
[INFO] [stdout]     |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 364 | let stress_test = mempool.mock_mempool_stress(100.0, Duration::from_secs(300)).await?;
[INFO] [stdout]     |                                                                                ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/events.rs - events::KaspaEventListener::subscribe (line 151) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `listener` in this scope
[INFO] [stdout]    --> src/events.rs:152:20
[INFO] [stdout]     |
[INFO] [stdout] 152 | let mut receiver = listener.subscribe();
[INFO] [stdout]     |                    ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/mem.rs - mem::MemPool::get_mempool (line 111) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `mempool` in this scope
[INFO] [stdout]    --> src/mem.rs:112:16
[INFO] [stdout]     |
[INFO] [stdout] 112 | let analysis = mempool.get_mempool().await?;
[INFO] [stdout]     |                ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/mem.rs:112:38
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mem_rs_111_0() {
[INFO] [stdout]     |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 112 | let analysis = mempool.get_mempool().await?;
[INFO] [stdout]     |                                      ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/events.rs - events::KaspaEventListener::unsubscribe_from_address (line 426) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `listener` in this scope
[INFO] [stdout]    --> src/events.rs:427:1
[INFO] [stdout]     |
[INFO] [stdout] 427 | listener.unsubscribe_from_address("kaspa:qpm2...").await?;
[INFO] [stdout]     | ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/events.rs:427:52
[INFO] [stdout]     |
[INFO] [stdout] 426 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_events_rs_426_0() {
[INFO] [stdout]     |                                      -------------------------------------- this is not `async`
[INFO] [stdout] 427 | listener.unsubscribe_from_address("kaspa:qpm2...").await?;
[INFO] [stdout]     |                                                    ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/mem.rs - mem::MemPool (line 10) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KaspaClient`
[INFO] [stdout]   --> src/mem.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | let client = KaspaClient::new("");
[INFO] [stdout]    |              ^^^^^^^^^^^ use of undeclared type `KaspaClient`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use kaspa_sdk::KaspaClient;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `MemPool`
[INFO] [stdout]   --> src/mem.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | let mut mem_pool = MemPool::new(client);
[INFO] [stdout]    |                    ^^^^^^^ use of undeclared type `MemPool`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use kaspa_sdk::mem::MemPool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/mem.rs:14:52
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_mem_rs_10_0() {
[INFO] [stdout]    |                                      ---------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 14 | let mem_pool_analysis = mem_pool.analyze_mempool().await?;
[INFO] [stdout]    |                                                    ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/events.rs - events::KaspaEventListener::start (line 184) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `listener` in this scope
[INFO] [stdout]    --> src/events.rs:185:1
[INFO] [stdout]     |
[INFO] [stdout] 185 | listener.start().await?;
[INFO] [stdout]     | ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/events.rs:185:18
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_events_rs_184_0() {
[INFO] [stdout]     |                                      -------------------------------------- this is not `async`
[INFO] [stdout] 185 | listener.start().await?;
[INFO] [stdout]     |                  ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/events.rs - events::KaspaEventListener::subscribe_to_address (line 414) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `listener` in this scope
[INFO] [stdout]    --> src/events.rs:415:1
[INFO] [stdout]     |
[INFO] [stdout] 415 | listener.subscribe_to_address("kaspa:qpm2...").await?;
[INFO] [stdout]     | ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/events.rs:415:48
[INFO] [stdout]     |
[INFO] [stdout] 414 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_events_rs_414_0() {
[INFO] [stdout]     |                                      -------------------------------------- this is not `async`
[INFO] [stdout] 415 | listener.subscribe_to_address("kaspa:qpm2...").await?;
[INFO] [stdout]     |                                                ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/events.rs - events::KaspaEventListener::add_event_handler (line 165) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `listener` in this scope
[INFO] [stdout]    --> src/events.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | listener.add_event_handler(Box::new(|event| {
[INFO] [stdout]     | ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KaspaEvent`
[INFO] [stdout]    --> src/events.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |         KaspaEvent::BlockAdded(block_event) => {
[INFO] [stdout]     |         ^^^^^^^^^^ use of undeclared type `KaspaEvent`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 165 + use kaspa_sdk::events::KaspaEvent;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/events.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_events_rs_165_0() {
[INFO] [stdout]     |                                      -------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 173 | })).await;
[INFO] [stdout]     |     ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/mem.rs - mem::MemPool::new (line 96) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KaspaClient`
[INFO] [stdout]   --> src/mem.rs:97:14
[INFO] [stdout]    |
[INFO] [stdout] 97 | let client = KaspaClient::new("");
[INFO] [stdout]    |              ^^^^^^^^^^^ use of undeclared type `KaspaClient`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 96 + use kaspa_sdk::KaspaClient;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `MemPool`
[INFO] [stdout]   --> src/mem.rs:98:16
[INFO] [stdout]    |
[INFO] [stdout] 98 | let analyzer = MemPool::new(client);
[INFO] [stdout]    |                ^^^^^^^ use of undeclared type `MemPool`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 96 + use kaspa_sdk::mem::MemPool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/events.rs - events::KaspaEventListener::from_config (line 130) stdout ----
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `EventListenerConfig` in this scope
[INFO] [stdout]    --> src/events.rs:131:14
[INFO] [stdout]     |
[INFO] [stdout] 131 | let config = EventListenerConfig {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 130 + use kaspa_sdk::events::EventListenerConfig;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KaspaEventListener`
[INFO] [stdout]    --> src/events.rs:135:16
[INFO] [stdout]     |
[INFO] [stdout] 135 | let listener = KaspaEventListener::from_config(config);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^ use of undeclared type `KaspaEventListener`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 130 + use kaspa_sdk::events::KaspaEventListener;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0422, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/monitor.rs - monitor::NetworkMonitor (line 9) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KaspaClient`
[INFO] [stdout]   --> src/monitor.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let client = KaspaClient::new("");
[INFO] [stdout]    |                  ^^^^^^^^^^^ use of undeclared type `KaspaClient`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use kaspa_sdk::KaspaClient;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Arc`
[INFO] [stdout]   --> src/monitor.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut monitor_arc = Arc::new(NetworkMonitor::new(client));
[INFO] [stdout]    |                           ^^^ use of undeclared type `Arc`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::sync::Arc;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `NetworkMonitor`
[INFO] [stdout]   --> src/monitor.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut monitor_arc = Arc::new(NetworkMonitor::new(client));
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^ use of undeclared type `NetworkMonitor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 10 + use kaspa_sdk::monitor::NetworkMonitor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `monitor` in this scope
[INFO] [stdout]   --> src/monitor.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let report = monitor.generate_health_report();
[INFO] [stdout]    |                      ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]   --> src/monitor.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |         tokio::time::sleep(Duration::from_secs(60)).await;
[INFO] [stdout]    |                            ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::time::Duration;
[INFO] [stdout]    |
[INFO] [stdout] 10 + use chrono::Duration;
[INFO] [stdout]    |
[INFO] [stdout] 10 + use tokio::time::Duration;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/monitor.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         monitor_arc.clone().start_monitoring().await.unwrap();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/monitor.rs - monitor::NetworkMonitor::generate_health_report (line 136) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `NetworkMonitor`
[INFO] [stdout]    --> src/monitor.rs:137:15
[INFO] [stdout]     |
[INFO] [stdout] 137 | let monitor = NetworkMonitor::new(client);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ use of undeclared type `NetworkMonitor`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 136 + use kaspa_sdk::monitor::NetworkMonitor;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `client` in this scope
[INFO] [stdout]    --> src/monitor.rs:137:35
[INFO] [stdout]     |
[INFO] [stdout] 137 | let monitor = NetworkMonitor::new(client);
[INFO] [stdout]     |                                   ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 136 + use tungstenite::client;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/monitor.rs - monitor::NetworkMonitor::new (line 51) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `KaspaClient`
[INFO] [stdout]   --> src/monitor.rs:52:14
[INFO] [stdout]    |
[INFO] [stdout] 52 | let client = KaspaClient::new("http://localhost:16110");
[INFO] [stdout]    |              ^^^^^^^^^^^ use of undeclared type `KaspaClient`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 51 + use kaspa_sdk::KaspaClient;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `NetworkMonitor`
[INFO] [stdout]   --> src/monitor.rs:53:15
[INFO] [stdout]    |
[INFO] [stdout] 53 | let monitor = NetworkMonitor::new(client);
[INFO] [stdout]    |               ^^^^^^^^^^^^^^ use of undeclared type `NetworkMonitor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 51 + use kaspa_sdk::monitor::NetworkMonitor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/monitor.rs - monitor::NetworkMonitor::start_monitoring (line 67) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `NetworkMonitor`
[INFO] [stdout]   --> src/monitor.rs:68:19
[INFO] [stdout]    |
[INFO] [stdout] 68 | let mut monitor = NetworkMonitor::new(client);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ use of undeclared type `NetworkMonitor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 67 + use kaspa_sdk::monitor::NetworkMonitor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `client` in this scope
[INFO] [stdout]   --> src/monitor.rs:68:39
[INFO] [stdout]    |
[INFO] [stdout] 68 | let mut monitor = NetworkMonitor::new(client);
[INFO] [stdout]    |                                       ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 67 + use tungstenite::client;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/monitor.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     monitor.start_monitoring().await.unwrap();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/events.rs - events::KaspaEventListener::add_event_handler (line 165)
[INFO] [stdout]     src/events.rs - events::KaspaEventListener::from_config (line 130)
[INFO] [stdout]     src/events.rs - events::KaspaEventListener::new (line 112)
[INFO] [stdout]     src/events.rs - events::KaspaEventListener::start (line 184)
[INFO] [stdout]     src/events.rs - events::KaspaEventListener::stop (line 217)
[INFO] [stdout]     src/events.rs - events::KaspaEventListener::subscribe (line 151)
[INFO] [stdout]     src/events.rs - events::KaspaEventListener::subscribe_to_address (line 414)
[INFO] [stdout]     src/events.rs - events::KaspaEventListener::unsubscribe_from_address (line 426)
[INFO] [stdout]     src/lib.rs - KaspaClient::analyze_address_clusters (line 204)
[INFO] [stdout]     src/mem.rs - mem::MemPool (line 10)
[INFO] [stdout]     src/mem.rs - mem::MemPool::detect_transaction_anomalies (line 257)
[INFO] [stdout]     src/mem.rs - mem::MemPool::get_mempool (line 111)
[INFO] [stdout]     src/mem.rs - mem::MemPool::mock_mempool_stress (line 363)
[INFO] [stdout]     src/mem.rs - mem::MemPool::new (line 96)
[INFO] [stdout]     src/mem.rs - mem::MemPool::predict_mempool_evolution (line 323)
[INFO] [stdout]     src/monitor.rs - monitor::NetworkMonitor (line 9)
[INFO] [stdout]     src/monitor.rs - monitor::NetworkMonitor::generate_health_report (line 136)
[INFO] [stdout]     src/monitor.rs - monitor::NetworkMonitor::new (line 51)
[INFO] [stdout]     src/monitor.rs - monitor::NetworkMonitor::start_monitoring (line 67)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 19 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.36s; merged doctests compilation took 0.16s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "80410570a649d76d93c90d1e9c0859ab59764131de9a90fa6f00ff83ffbd5ffa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "80410570a649d76d93c90d1e9c0859ab59764131de9a90fa6f00ff83ffbd5ffa", kill_on_drop: false }`
[INFO] [stdout] 80410570a649d76d93c90d1e9c0859ab59764131de9a90fa6f00ff83ffbd5ffa
