[INFO] fetching crate kaspa-sdk 0.2.0... [INFO] testing kaspa-sdk-0.2.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7 [INFO] extracting crate kaspa-sdk 0.2.0 into /workspace/builds/worker-3-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-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate kaspa-sdk 0.2.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tokio-tungstenite v0.20.1 [INFO] [stderr] Downloaded base58 v0.2.0 [INFO] [stderr] Downloaded secp256k1 v0.27.0 [INFO] [stderr] Downloaded tungstenite v0.20.1 [INFO] [stderr] Downloaded secp256k1-sys v0.8.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 49d94f67ed7e33f44b31cef1d142190cf591012b327cb2662a1191998d231d43 [INFO] running `Command { std: "docker" "start" "-a" "49d94f67ed7e33f44b31cef1d142190cf591012b327cb2662a1191998d231d43", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "49d94f67ed7e33f44b31cef1d142190cf591012b327cb2662a1191998d231d43", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "49d94f67ed7e33f44b31cef1d142190cf591012b327cb2662a1191998d231d43", kill_on_drop: false }` [INFO] [stdout] 49d94f67ed7e33f44b31cef1d142190cf591012b327cb2662a1191998d231d43 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7342d66680c8832431bb2e3fd8ffa24666d024037c13c43891389ff43b6ad8f3 [INFO] running `Command { std: "docker" "start" "-a" "7342d66680c8832431bb2e3fd8ffa24666d024037c13c43891389ff43b6ad8f3", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.20 [INFO] [stderr] Compiling cc v1.2.43 [INFO] [stderr] Compiling openssl v0.10.74 [INFO] [stderr] Compiling data-encoding v2.9.0 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling ripemd v0.1.3 [INFO] [stderr] Compiling bs58 v0.5.1 [INFO] [stderr] Compiling seahash v4.1.0 [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling bech32 v0.9.1 [INFO] [stderr] Compiling base58 v0.2.0 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling syn v2.0.108 [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 native-tls v0.2.14 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling secp256k1 v0.27.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling thiserror v1.0.69 [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 serde v1.0.228 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling icu_provider v2.0.0 [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 { [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 1m 22s [INFO] running `Command { std: "docker" "inspect" "7342d66680c8832431bb2e3fd8ffa24666d024037c13c43891389ff43b6ad8f3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7342d66680c8832431bb2e3fd8ffa24666d024037c13c43891389ff43b6ad8f3", kill_on_drop: false }` [INFO] [stdout] 7342d66680c8832431bb2e3fd8ffa24666d024037c13c43891389ff43b6ad8f3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] eba0a1268289a9be03b3502dd508f3fbe2dd9a1d8c515cb9f10e5b84af226563 [INFO] running `Command { std: "docker" "start" "-a" "eba0a1268289a9be03b3502dd508f3fbe2dd9a1d8c515cb9f10e5b84af226563", 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] [stderr] Compiling kaspa-sdk v0.2.0 (/opt/rustwide/workdir) [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 { [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 { [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.60s [INFO] running `Command { std: "docker" "inspect" "eba0a1268289a9be03b3502dd508f3fbe2dd9a1d8c515cb9f10e5b84af226563", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eba0a1268289a9be03b3502dd508f3fbe2dd9a1d8c515cb9f10e5b84af226563", kill_on_drop: false }` [INFO] [stdout] eba0a1268289a9be03b3502dd508f3fbe2dd9a1d8c515cb9f10e5b84af226563 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 6e433651f0aef3ecfec917a6b8f3c2a7e5ec7d4d030ca1c6514270e92ab0fbea [INFO] running `Command { std: "docker" "start" "-a" "6e433651f0aef3ecfec917a6b8f3c2a7e5ec7d4d030ca1c6514270e92ab0fbea", 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 { [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.31s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kaspa_sdk-e07766e7331882c8) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stderr] Doc-tests kaspa_sdk [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] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test src/events.rs - events::KaspaEventListener::add_event_handler (line 165) ... FAILED [INFO] [stdout] test src/events.rs - events::KaspaEventListener::stop (line 217) ... FAILED [INFO] [stdout] test src/events.rs - events::KaspaEventListener::subscribe (line 151) ... FAILED [INFO] [stdout] test src/events.rs - events::KaspaEventListener::unsubscribe_from_address (line 426) ... FAILED [INFO] [stdout] test src/events.rs - events::KaspaEventListener::from_config (line 130) ... FAILED [INFO] [stdout] test src/events.rs - events::KaspaEventListener::subscribe_to_address (line 414) ... FAILED [INFO] [stdout] test src/events.rs - events::KaspaEventListener::new (line 112) ... FAILED [INFO] [stdout] test src/events.rs - events::KaspaEventListener::start (line 184) ... FAILED [INFO] [stdout] test src/lib.rs - KaspaClient::analyze_address_clusters (line 204) ... FAILED [INFO] [stdout] test src/mem.rs - mem::MemPool (line 10) ... FAILED [INFO] [stdout] test src/mem.rs - mem::MemPool::get_mempool (line 111) ... FAILED [INFO] [stdout] test src/mem.rs - mem::MemPool::mock_mempool_stress (line 363) ... FAILED [INFO] [stdout] test src/mem.rs - mem::MemPool::detect_transaction_anomalies (line 257) ... FAILED [INFO] [stdout] test src/monitor.rs - monitor::NetworkMonitor::generate_health_report (line 136) ... FAILED [INFO] [stdout] test src/mem.rs - mem::MemPool::new (line 96) ... FAILED [INFO] [stdout] test src/mem.rs - mem::MemPool::predict_mempool_evolution (line 323) ... FAILED [INFO] [stdout] test src/monitor.rs - monitor::NetworkMonitor::new (line 51) ... FAILED [INFO] [stdout] test src/monitor.rs - monitor::NetworkMonitor (line 9) ... 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::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/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/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/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/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/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::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/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/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/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/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/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/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/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/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/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/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 (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::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 2.31s [INFO] [stdout] [INFO] [stdout] all doctests ran in 2.59s; merged doctests compilation took 0.28s [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "6e433651f0aef3ecfec917a6b8f3c2a7e5ec7d4d030ca1c6514270e92ab0fbea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6e433651f0aef3ecfec917a6b8f3c2a7e5ec7d4d030ca1c6514270e92ab0fbea", kill_on_drop: false }` [INFO] [stdout] 6e433651f0aef3ecfec917a6b8f3c2a7e5ec7d4d030ca1c6514270e92ab0fbea