[INFO] cloning repository https://github.com/Hoss-Boss/txrp-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Hoss-Boss/txrp-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHoss-Boss%2Ftxrp-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHoss-Boss%2Ftxrp-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] eb174d2f049ffb6ef027e791f7a32d652b0d81a0 [INFO] checking Hoss-Boss/txrp-rust against try#579169d0e78824dc60934e5eb74cd3841f2b33e8 for pr-149328 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHoss-Boss%2Ftxrp-rust" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Hoss-Boss/txrp-rust [INFO] finished tweaking git repo https://github.com/Hoss-Boss/txrp-rust [INFO] tweaked toml for git repo https://github.com/Hoss-Boss/txrp-rust written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Hoss-Boss/txrp-rust on toolchain 579169d0e78824dc60934e5eb74cd3841f2b33e8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+579169d0e78824dc60934e5eb74cd3841f2b33e8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Hoss-Boss/txrp-rust 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" "+579169d0e78824dc60934e5eb74cd3841f2b33e8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+579169d0e78824dc60934e5eb74cd3841f2b33e8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] db3c12f3e85a7ec50640877abbe515486e866ee8f343c95a5922afbcd73dff56 [INFO] running `Command { std: "docker" "start" "-a" "db3c12f3e85a7ec50640877abbe515486e866ee8f343c95a5922afbcd73dff56", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "db3c12f3e85a7ec50640877abbe515486e866ee8f343c95a5922afbcd73dff56", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "db3c12f3e85a7ec50640877abbe515486e866ee8f343c95a5922afbcd73dff56", kill_on_drop: false }` [INFO] [stdout] db3c12f3e85a7ec50640877abbe515486e866ee8f343c95a5922afbcd73dff56 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+579169d0e78824dc60934e5eb74cd3841f2b33e8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5cbe8b3eb6b0062ed41c75fd91dc8ecd13eb03cc0faa7dc5e9bb80f6a3890a28 [INFO] running `Command { std: "docker" "start" "-a" "5cbe8b3eb6b0062ed41c75fd91dc8ecd13eb03cc0faa7dc5e9bb80f6a3890a28", kill_on_drop: false }` [INFO] [stderr] Compiling find-msvc-tools v0.1.6 [INFO] [stderr] Compiling libc v0.2.178 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling syn v2.0.112 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Checking socket2 v0.6.1 [INFO] [stderr] Checking http v1.4.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling zerocopy v0.8.31 [INFO] [stderr] Checking hashbrown v0.16.1 [INFO] [stderr] Compiling embedded-io-async v0.6.1 [INFO] [stderr] Compiling aws-lc-rs v1.15.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking embedded-io v0.6.1 [INFO] [stderr] Compiling rustc-hash v2.1.1 [INFO] [stderr] Checking base16ct v0.2.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling zmij v1.0.6 [INFO] [stderr] Compiling type-map v0.5.1 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Checking hash32 v0.3.1 [INFO] [stderr] Compiling rustls v0.23.35 [INFO] [stderr] Checking ff v0.13.1 [INFO] [stderr] Compiling self_cell v1.2.2 [INFO] [stderr] Compiling serde_json v1.0.148 [INFO] [stderr] Checking heapless v0.8.0 [INFO] [stderr] Checking tokio v1.48.0 [INFO] [stderr] Checking group v0.13.0 [INFO] [stderr] Checking generic-array v0.12.4 [INFO] [stderr] Compiling self_cell v0.10.3 [INFO] [stderr] Checking generic-array v0.13.3 [INFO] [stderr] Compiling atomic-polyfill v1.0.3 [INFO] [stderr] Checking critical-section v1.2.0 [INFO] [stderr] Compiling heapless v0.6.1 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Checking indexmap v2.12.1 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking hash32 v0.1.1 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Checking nb v1.1.0 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking embedded-nal v0.9.0 [INFO] [stderr] Checking hex-conservative v0.2.2 [INFO] [stderr] Compiling arc-swap v1.8.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Compiling bigdecimal v0.4.10 [INFO] [stderr] Compiling cc v1.2.51 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Compiling rust_decimal v1.39.0 [INFO] [stderr] Compiling embassy-sync v0.6.2 [INFO] [stderr] Compiling rust-embed-utils v8.9.0 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking ed25519 v2.2.3 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking bitcoin_hashes v0.14.1 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking signal-hook v0.3.18 [INFO] [stderr] Checking embedded-nal-async v0.8.0 [INFO] [stderr] Checking unicode-normalization v0.1.25 [INFO] [stderr] Checking buffered-io v0.5.4 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking base64ct v1.8.1 [INFO] [stderr] Checking io_tee v0.1.1 [INFO] [stderr] Checking nourl v0.1.4 [INFO] [stderr] Checking signal-hook-mio v0.2.5 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking chrono v0.4.42 [INFO] [stderr] Checking hashlink v0.11.0 [INFO] [stderr] Checking rand_hc v0.3.2 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking password-hash v0.5.0 [INFO] [stderr] Checking embassy-futures v0.1.2 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking directories v5.0.1 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking crossterm v0.28.1 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Compiling secp256k1-sys v0.10.1 [INFO] [stderr] Compiling libsqlite3-sys v0.36.0 [INFO] [stderr] Compiling aws-lc-sys v0.37.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking regex v1.12.2 [INFO] [stderr] Compiling thiserror-impl-no-std v2.0.2 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Checking thiserror-no-std v2.0.2 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Checking tokio-util v0.7.17 [INFO] [stderr] Checking h2 v0.4.12 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling rust-embed-impl v8.9.0 [INFO] [stderr] Checking zeroize v1.8.2 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Checking rustls-pki-types v1.13.2 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking der v0.7.10 [INFO] [stderr] Checking crypto-bigint v0.5.5 [INFO] [stderr] Checking polyval v0.6.2 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking ghash v0.5.1 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking hkdf v0.12.4 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling fluent-syntax v0.11.1 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking as-slice v0.1.5 [INFO] [stderr] Checking sec1 v0.7.3 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking chacha20 v0.9.1 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Checking poly1305 v0.8.0 [INFO] [stderr] Compiling rust-embed v8.9.0 [INFO] [stderr] Checking aes-gcm v0.10.3 [INFO] [stderr] Checking pbkdf2 v0.12.2 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking salsa20 v0.10.2 [INFO] [stderr] Checking rustls-native-certs v0.8.3 [INFO] [stderr] Checking secrecy v0.10.3 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Checking scrypt v0.11.0 [INFO] [stderr] Checking chacha20poly1305 v0.10.1 [INFO] [stderr] Checking bs58 v0.5.1 [INFO] [stderr] Checking secp256k1 v0.30.0 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking ripemd v0.1.3 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking x25519-dalek v2.0.1 [INFO] [stderr] Checking ed25519-dalek v2.2.0 [INFO] [stderr] Compiling xrpl-rust-macros v0.1.0 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling derive-new v0.7.0 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking argon2 v0.5.3 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking cookie-factory v0.3.3 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Checking elliptic-curve v0.13.8 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Compiling serde_with_macros v3.16.1 [INFO] [stderr] Checking embedded-websocket-embedded-io v0.1.0 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking unic-langid-impl v0.9.6 [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Checking pin-project v1.1.10 [INFO] [stderr] Checking age-core v0.11.0 [INFO] [stderr] Checking primeorder v0.13.6 [INFO] [stderr] Checking unic-langid v0.9.6 [INFO] [stderr] Checking intl_pluralrules v7.0.2 [INFO] [stderr] Checking intl-memoizer v0.5.3 [INFO] [stderr] Checking hyper-util v0.1.19 [INFO] [stderr] Checking fluent-langneg v0.13.1 [INFO] [stderr] Checking p256 v0.13.2 [INFO] [stderr] Checking clap v4.5.53 [INFO] [stderr] Checking serde_with v3.16.1 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking tungstenite v0.24.0 [INFO] [stderr] Checking fluent-bundle v0.15.3 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking embedded-tls v0.17.0 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Compiling basic-toml v0.1.10 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Checking fluent v0.16.1 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking tokio-tungstenite v0.24.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking bip39 v2.2.2 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Checking reqwless v0.13.0 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Compiling i18n-config v0.4.8 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Compiling find-crate v0.6.3 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Compiling i18n-embed-impl v0.8.4 [INFO] [stderr] Checking reqwest v0.12.28 [INFO] [stderr] Compiling i18n-embed v0.15.4 [INFO] [stderr] Checking xrpl-rust v1.0.0 [INFO] [stderr] Compiling i18n-embed-fl v0.9.4 [INFO] [stderr] Checking age v0.11.2 [INFO] [stderr] Checking rusqlite v0.38.0 [INFO] [stderr] Checking rustls-webpki v0.103.8 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking rustls-platform-verifier v0.6.2 [INFO] [stderr] Checking hyper-rustls v0.27.7 [INFO] [stderr] Checking reqwest v0.13.1 [INFO] [stderr] Checking txrp-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `aes_gcm::Error` [INFO] [stdout] --> src/wallet_functionality.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use aes_gcm::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Value` and `error` [INFO] [stdout] --> src/wallet_functionality.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::{error, json, Value}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `xrpl::models::requests::fee` [INFO] [stdout] --> src/wallet_functionality.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use xrpl::models::requests::fee; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `xrpl::models::results::tx::Transaction` [INFO] [stdout] --> src/wallet_functionality.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use xrpl::models::results::tx::Transaction; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ARGON_ALGORITHM`, `ARGON_VERSION`, `M_COST`, `OUTPUT_LEN`, `P_COST`, and `T_COST` [INFO] [stdout] --> src/wallet_functionality.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::encryption::{M_COST, T_COST, P_COST, OUTPUT_LEN, ARGON_ALGORITHM, ARGON_VERSION}; [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `xrpl::clients::XRPLSyncClient` [INFO] [stdout] --> src/wallet_functionality.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use xrpl::clients::XRPLSyncClient; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `xrpl::clients::json_rpc::JsonRpcClient` [INFO] [stdout] --> src/wallet_functionality.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use xrpl::clients::json_rpc::JsonRpcClient; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `xrpl::models::requests::account_info::AccountInfo` [INFO] [stdout] --> src/wallet_functionality.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use xrpl::models::requests::account_info::AccountInfo; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `xrpl::models::results::account_info::AccountInfoVersionMap` [INFO] [stdout] --> src/wallet_functionality.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use xrpl::models::results::account_info::AccountInfoVersionMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `reqwest::Client` [INFO] [stdout] --> src/wallet_functionality.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use reqwest::Client; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `url::Url` [INFO] [stdout] --> src/wallet_functionality.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use url::Url; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OnceLock` [INFO] [stdout] --> src/wallet_functionality.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | use std::sync::{OnceLock}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::Thread` [INFO] [stdout] --> src/wallet_functionality.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use std::thread::Thread; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/wallet_functionality.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 127 | if (current_wallet_is_encrypted) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 127 - if (current_wallet_is_encrypted) { [INFO] [stdout] 127 + if current_wallet_is_encrypted { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/wallet_functionality.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | if (mnemonic_exists) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 132 - if (mnemonic_exists) { [INFO] [stdout] 132 + if mnemonic_exists { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/wallet_functionality.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 144 | if (current_wallet_isnt_encrypted) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 144 - if (current_wallet_isnt_encrypted) { [INFO] [stdout] 144 + if current_wallet_isnt_encrypted { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/file_io.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/file_io.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::database::attempt_test_data_insertion` [INFO] [stdout] --> src/file_io.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::database::attempt_test_data_insertion; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/file_io.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | if (wallets_db_file_exists == false) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 44 - if (wallets_db_file_exists == false) { [INFO] [stdout] 44 + if wallets_db_file_exists == false { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/file_io.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | if (options_file_exists == false) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 48 - if (options_file_exists == false) { [INFO] [stdout] 48 + if options_file_exists == false { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `io`, `num::ParseIntError`, `ptr::read_unaligned`, `thread::sleep`, and `time::Duration` [INFO] [stdout] --> src/menu_navigation.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{io, num::ParseIntError, process::exit, ptr::read_unaligned, thread::sleep, time::Duration}; [INFO] [stdout] | ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `asynch::wallet` [INFO] [stdout] --> src/menu_navigation.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | use xrpl::{asynch::wallet, wallet::Wallet}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/menu_navigation.rs:103:24 [INFO] [stdout] | [INFO] [stdout] 103 | if (user_input.trim() == "b") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 103 - if (user_input.trim() == "b") { [INFO] [stdout] 103 + if user_input.trim() == "b" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/menu_navigation.rs:106:29 [INFO] [stdout] | [INFO] [stdout] 106 | else if (user_input.trim() == "h") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 106 - else if (user_input.trim() == "h") { [INFO] [stdout] 106 + else if user_input.trim() == "h" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/menu_navigation.rs:113:24 [INFO] [stdout] | [INFO] [stdout] 113 | if (user_input.trim() != user_input_2.trim()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 113 - if (user_input.trim() != user_input_2.trim()) { [INFO] [stdout] 113 + if user_input.trim() != user_input_2.trim() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/menu_navigation.rs:170:16 [INFO] [stdout] | [INFO] [stdout] 170 | if (parsed_value.is_err()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 170 - if (parsed_value.is_err()) { [INFO] [stdout] 170 + if parsed_value.is_err() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/menu_navigation.rs:178:20 [INFO] [stdout] | [INFO] [stdout] 178 | if (index >= wallets.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 178 - if (index >= wallets.len()) { [INFO] [stdout] 178 + if index >= wallets.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/menu_navigation.rs:210:16 [INFO] [stdout] | [INFO] [stdout] 210 | if (&user_input.to_lowercase() == "b" || &user_input.to_lowercase() == "h") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 210 - if (&user_input.to_lowercase() == "b" || &user_input.to_lowercase() == "h") { [INFO] [stdout] 210 + if &user_input.to_lowercase() == "b" || &user_input.to_lowercase() == "h" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PasswordHash`, `PasswordHasher`, `PasswordVerifier`, `SaltString`, and `Salt` [INFO] [stdout] --> src/encryption.rs:1:30 [INFO] [stdout] | [INFO] [stdout] 1 | use argon2::{password_hash::{PasswordHash, PasswordHasher, PasswordVerifier, Salt, SaltString}, Algorithm, Argon2, Params, Version}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Key` and `aes::Aes256` [INFO] [stdout] --> src/encryption.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use aes_gcm::{aead::{Aead, Nonce}, aes::Aes256, AeadCore, Aes256Gcm, Key, KeyInit}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/encryption.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/encryption.rs:43:63 [INFO] [stdout] | [INFO] [stdout] 43 | _ => return Err(ArgonParseError::StringMatchError((string.to_string()))), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 43 - _ => return Err(ArgonParseError::StringMatchError((string.to_string()))), [INFO] [stdout] 43 + _ => return Err(ArgonParseError::StringMatchError(string.to_string() )), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/encryption.rs:88:63 [INFO] [stdout] | [INFO] [stdout] 88 | _ => return Err(ArgonParseError::StringMatchError((string.to_string()))), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 88 - _ => return Err(ArgonParseError::StringMatchError((string.to_string()))), [INFO] [stdout] 88 + _ => return Err(ArgonParseError::StringMatchError(string.to_string() )), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/encryption.rs:147:34 [INFO] [stdout] | [INFO] [stdout] 147 | let encryption_data_exists = (wallet.encryption_enabled == true && wallet.encryption_data.is_some()); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 147 - let encryption_data_exists = (wallet.encryption_enabled == true && wallet.encryption_data.is_some()); [INFO] [stdout] 147 + let encryption_data_exists = wallet.encryption_enabled == true && wallet.encryption_data.is_some() ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bip39::Mnemonic` [INFO] [stdout] --> src/database.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use bip39::Mnemonic; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossterm::cursor` [INFO] [stdout] --> src/database.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/database.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | if (wallet.encryption_enabled) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 76 - if (wallet.encryption_enabled) { [INFO] [stdout] 76 + if wallet.encryption_enabled { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `aes_gcm::aes::cipher` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use aes_gcm::aes::cipher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Engine` and `engine::general_purpose` [INFO] [stdout] --> src/main.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | use base64::{engine::general_purpose, Engine}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `xrpl::wallet::Wallet` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use xrpl::wallet::Wallet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get_wallets_from_db` and `insert_wallet_into_db` [INFO] [stdout] --> src/main.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::database::{insert_wallet_into_db, get_wallets_from_db}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `aes_gcm::Error` [INFO] [stdout] --> src/wallet_functionality.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use aes_gcm::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Value` and `error` [INFO] [stdout] --> src/wallet_functionality.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use serde_json::{error, json, Value}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `xrpl::models::requests::fee` [INFO] [stdout] --> src/wallet_functionality.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use xrpl::models::requests::fee; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `xrpl::models::results::tx::Transaction` [INFO] [stdout] --> src/wallet_functionality.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use xrpl::models::results::tx::Transaction; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ARGON_ALGORITHM`, `ARGON_VERSION`, `M_COST`, `OUTPUT_LEN`, `P_COST`, and `T_COST` [INFO] [stdout] --> src/wallet_functionality.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::encryption::{M_COST, T_COST, P_COST, OUTPUT_LEN, ARGON_ALGORITHM, ARGON_VERSION}; [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `xrpl::clients::XRPLSyncClient` [INFO] [stdout] --> src/wallet_functionality.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use xrpl::clients::XRPLSyncClient; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `xrpl::clients::json_rpc::JsonRpcClient` [INFO] [stdout] --> src/wallet_functionality.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use xrpl::clients::json_rpc::JsonRpcClient; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `xrpl::models::requests::account_info::AccountInfo` [INFO] [stdout] --> src/wallet_functionality.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use xrpl::models::requests::account_info::AccountInfo; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `xrpl::models::results::account_info::AccountInfoVersionMap` [INFO] [stdout] --> src/wallet_functionality.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use xrpl::models::results::account_info::AccountInfoVersionMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `reqwest::Client` [INFO] [stdout] --> src/wallet_functionality.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use reqwest::Client; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `url::Url` [INFO] [stdout] --> src/wallet_functionality.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use url::Url; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OnceLock` [INFO] [stdout] --> src/wallet_functionality.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | use std::sync::{OnceLock}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::Thread` [INFO] [stdout] --> src/wallet_functionality.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use std::thread::Thread; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/wallet_functionality.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 127 | if (current_wallet_is_encrypted) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 127 - if (current_wallet_is_encrypted) { [INFO] [stdout] 127 + if current_wallet_is_encrypted { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/wallet_functionality.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | if (mnemonic_exists) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 132 - if (mnemonic_exists) { [INFO] [stdout] 132 + if mnemonic_exists { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/wallet_functionality.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 144 | if (current_wallet_isnt_encrypted) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 144 - if (current_wallet_isnt_encrypted) { [INFO] [stdout] 144 + if current_wallet_isnt_encrypted { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/file_io.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/file_io.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::database::attempt_test_data_insertion` [INFO] [stdout] --> src/file_io.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::database::attempt_test_data_insertion; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/file_io.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | if (wallets_db_file_exists == false) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 44 - if (wallets_db_file_exists == false) { [INFO] [stdout] 44 + if wallets_db_file_exists == false { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/file_io.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | if (options_file_exists == false) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 48 - if (options_file_exists == false) { [INFO] [stdout] 48 + if options_file_exists == false { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `io`, `num::ParseIntError`, `ptr::read_unaligned`, `thread::sleep`, and `time::Duration` [INFO] [stdout] --> src/menu_navigation.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{io, num::ParseIntError, process::exit, ptr::read_unaligned, thread::sleep, time::Duration}; [INFO] [stdout] | ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `asynch::wallet` [INFO] [stdout] --> src/menu_navigation.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | use xrpl::{asynch::wallet, wallet::Wallet}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/menu_navigation.rs:103:24 [INFO] [stdout] | [INFO] [stdout] 103 | if (user_input.trim() == "b") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 103 - if (user_input.trim() == "b") { [INFO] [stdout] 103 + if user_input.trim() == "b" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/menu_navigation.rs:106:29 [INFO] [stdout] | [INFO] [stdout] 106 | else if (user_input.trim() == "h") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 106 - else if (user_input.trim() == "h") { [INFO] [stdout] 106 + else if user_input.trim() == "h" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/menu_navigation.rs:113:24 [INFO] [stdout] | [INFO] [stdout] 113 | if (user_input.trim() != user_input_2.trim()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 113 - if (user_input.trim() != user_input_2.trim()) { [INFO] [stdout] 113 + if user_input.trim() != user_input_2.trim() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/menu_navigation.rs:170:16 [INFO] [stdout] | [INFO] [stdout] 170 | if (parsed_value.is_err()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 170 - if (parsed_value.is_err()) { [INFO] [stdout] 170 + if parsed_value.is_err() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/menu_navigation.rs:178:20 [INFO] [stdout] | [INFO] [stdout] 178 | if (index >= wallets.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 178 - if (index >= wallets.len()) { [INFO] [stdout] 178 + if index >= wallets.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/menu_navigation.rs:210:16 [INFO] [stdout] | [INFO] [stdout] 210 | if (&user_input.to_lowercase() == "b" || &user_input.to_lowercase() == "h") { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 210 - if (&user_input.to_lowercase() == "b" || &user_input.to_lowercase() == "h") { [INFO] [stdout] 210 + if &user_input.to_lowercase() == "b" || &user_input.to_lowercase() == "h" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PasswordHash`, `PasswordHasher`, `PasswordVerifier`, `SaltString`, and `Salt` [INFO] [stdout] --> src/encryption.rs:1:30 [INFO] [stdout] | [INFO] [stdout] 1 | use argon2::{password_hash::{PasswordHash, PasswordHasher, PasswordVerifier, Salt, SaltString}, Algorithm, Argon2, Params, Version}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Key` and `aes::Aes256` [INFO] [stdout] --> src/encryption.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use aes_gcm::{aead::{Aead, Nonce}, aes::Aes256, AeadCore, Aes256Gcm, Key, KeyInit}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/encryption.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/encryption.rs:43:63 [INFO] [stdout] | [INFO] [stdout] 43 | _ => return Err(ArgonParseError::StringMatchError((string.to_string()))), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 43 - _ => return Err(ArgonParseError::StringMatchError((string.to_string()))), [INFO] [stdout] 43 + _ => return Err(ArgonParseError::StringMatchError(string.to_string() )), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/encryption.rs:88:63 [INFO] [stdout] | [INFO] [stdout] 88 | _ => return Err(ArgonParseError::StringMatchError((string.to_string()))), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 88 - _ => return Err(ArgonParseError::StringMatchError((string.to_string()))), [INFO] [stdout] 88 + _ => return Err(ArgonParseError::StringMatchError(string.to_string() )), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/encryption.rs:147:34 [INFO] [stdout] | [INFO] [stdout] 147 | let encryption_data_exists = (wallet.encryption_enabled == true && wallet.encryption_data.is_some()); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 147 - let encryption_data_exists = (wallet.encryption_enabled == true && wallet.encryption_data.is_some()); [INFO] [stdout] 147 + let encryption_data_exists = wallet.encryption_enabled == true && wallet.encryption_data.is_some() ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bip39::Mnemonic` [INFO] [stdout] --> src/database.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use bip39::Mnemonic; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossterm::cursor` [INFO] [stdout] --> src/database.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/database.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | if (wallet.encryption_enabled) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 76 - if (wallet.encryption_enabled) { [INFO] [stdout] 76 + if wallet.encryption_enabled { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `aes_gcm::aes::cipher` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use aes_gcm::aes::cipher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Engine` and `engine::general_purpose` [INFO] [stdout] --> src/main.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | use base64::{engine::general_purpose, Engine}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `xrpl::wallet::Wallet` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use xrpl::wallet::Wallet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get_wallets_from_db` and `insert_wallet_into_db` [INFO] [stdout] --> src/main.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::database::{insert_wallet_into_db, get_wallets_from_db}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `invalid_wallet_err` [INFO] [stdout] --> src/wallet_functionality.rs:58:17 [INFO] [stdout] | [INFO] [stdout] 58 | Err(invalid_wallet_err) => return Err(format!("Error: The seed provided isn't a valid XRP wallet seed.").into()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invalid_wallet_err` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `invalid_wallet_err` [INFO] [stdout] --> src/wallet_functionality.rs:58:17 [INFO] [stdout] | [INFO] [stdout] 58 | Err(invalid_wallet_err) => return Err(format!("Error: The seed provided isn't a valid XRP wallet seed.").into()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invalid_wallet_err` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `invalid_response` [INFO] [stdout] --> src/wallet_functionality.rs:283:13 [INFO] [stdout] | [INFO] [stdout] 283 | Err(invalid_response) => return Err(format!("Error getting response from transaction.").into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invalid_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `invalid_response` [INFO] [stdout] --> src/wallet_functionality.rs:283:13 [INFO] [stdout] | [INFO] [stdout] 283 | Err(invalid_response) => return Err(format!("Error getting response from transaction.").into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invalid_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wallet` [INFO] [stdout] --> src/menu_navigation.rs:183:21 [INFO] [stdout] | [INFO] [stdout] 183 | let wallet = &wallets[index]; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wallet` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `invalid_wallet` [INFO] [stdout] --> src/menu_navigation.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | Err(invalid_wallet) => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invalid_wallet` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `seed` is never read [INFO] [stdout] --> src/menu_navigation.rs:216:28 [INFO] [stdout] | [INFO] [stdout] 216 | let mut seed = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wallet` [INFO] [stdout] --> src/menu_navigation.rs:183:21 [INFO] [stdout] | [INFO] [stdout] 183 | let wallet = &wallets[index]; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wallet` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `invalid_wallet` [INFO] [stdout] --> src/menu_navigation.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | Err(invalid_wallet) => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invalid_wallet` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `seed` is never read [INFO] [stdout] --> src/menu_navigation.rs:216:28 [INFO] [stdout] | [INFO] [stdout] 216 | let mut seed = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error` [INFO] [stdout] --> src/encryption.rs:163:21 [INFO] [stdout] | [INFO] [stdout] 163 | Err(error) => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named struct `Error` [INFO] [stdout] | [INFO] [stdout] 163 - Err(error) => { [INFO] [stdout] 163 + Err(aes_gcm::Error) => { [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 163 | Err(_error) => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/database.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | let mut transaction = connection.transaction().expect("Error initializing transaction."); // atomic: wallet + encryptiondata tog... [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: `id` [INFO] [stdout] --> src/database.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | let id: u16 = row.get(0).expect("Error: DB row has no ID."); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/database.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | let mut connection = get_db_connection(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/wallet_functionality.rs:156:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl TXRPWallet { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn view_balance_of_address(address: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn view_balance(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | pub fn get_sequence(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn get_sequence_of_address(address: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn get_last_xrp_ledger_index(advance: u32) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn drops_to_xrp(drops: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn xrp_to_drops(xrp_amount: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn get_ledger_minimum_fee() -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn get_open_ledger_fee() -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | pub fn send_xrp(&self, amount_in_drops: u32, destination: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn to_json(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub fn from_json(json_wallet: &str) -> TXRPWallet { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_xrp_wallet_without_mnemonic_or_seed` is never used [INFO] [stdout] --> src/wallet_functionality.rs:314:8 [INFO] [stdout] | [INFO] [stdout] 314 | pub fn generate_xrp_wallet_without_mnemonic_or_seed(word_amount: Option) -> Wallet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserOptions` is never constructed [INFO] [stdout] --> src/menu_navigation.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | struct UserOptions { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FeePreference` is never used [INFO] [stdout] --> src/menu_navigation.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | enum FeePreference { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MenuAction` is never used [INFO] [stdout] --> src/menu_navigation.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | enum MenuAction { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clear_screen` is never used [INFO] [stdout] --> src/menu_navigation.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn clear_screen() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `home_menu` is never used [INFO] [stdout] --> src/menu_navigation.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn home_menu() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `option_1_create_a_wallet` is never used [INFO] [stdout] --> src/menu_navigation.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn option_1_create_a_wallet() -> MenuAction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `option_2_view_and_transact_with_wallets` is never used [INFO] [stdout] --> src/menu_navigation.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn option_2_view_and_transact_with_wallets() -> MenuAction{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `option_3_import_wallet` is never used [INFO] [stdout] --> src/menu_navigation.rs:192:4 [INFO] [stdout] | [INFO] [stdout] 192 | fn option_3_import_wallet() -> MenuAction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decrypt_ciphertext` is never used [INFO] [stdout] --> src/encryption.rs:195:8 [INFO] [stdout] | [INFO] [stdout] 195 | pub fn decrypt_ciphertext(ciphertext: &str, password: &str, salt: &[u8], nonce: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DBError` is never used [INFO] [stdout] --> src/database.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | enum DBError { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `insert_wallet_into_db` is never used [INFO] [stdout] --> src/database.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn insert_wallet_into_db(wallet: &TXRPWallet) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `row_to_wallet` is never used [INFO] [stdout] --> src/database.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn row_to_wallet(row: &Row) -> rusqlite::Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_wallets_from_db` is never used [INFO] [stdout] --> src/database.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn get_wallets_from_db() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `attempt_test_data_insertion` is never used [INFO] [stdout] --> src/database.rs:137:8 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn attempt_test_data_insertion() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CLIENT` is never used [INFO] [stdout] --> src/requests_io.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | static CLIENT: OnceLock = OnceLock::new(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `http_client` is never used [INFO] [stdout] --> src/requests_io.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn http_client() -> &'static Client { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `xrp_ledger_call` is never used [INFO] [stdout] --> src/requests_io.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn xrp_ledger_call(method: &str, parameters: Value) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error` [INFO] [stdout] --> src/encryption.rs:163:21 [INFO] [stdout] | [INFO] [stdout] 163 | Err(error) => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named struct `Error` [INFO] [stdout] | [INFO] [stdout] 163 - Err(error) => { [INFO] [stdout] 163 + Err(aes_gcm::Error) => { [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 163 | Err(_error) => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/database.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | let mut transaction = connection.transaction().expect("Error initializing transaction."); // atomic: wallet + encryptiondata tog... [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: `id` [INFO] [stdout] --> src/database.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | let id: u16 = row.get(0).expect("Error: DB row has no ID."); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/database.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | let mut connection = get_db_connection(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/wallet_functionality.rs:156:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl TXRPWallet { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn view_balance_of_address(address: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn view_balance(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | pub fn get_sequence(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn get_sequence_of_address(address: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn get_last_xrp_ledger_index(advance: u32) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn drops_to_xrp(drops: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn xrp_to_drops(xrp_amount: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn get_ledger_minimum_fee() -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn get_open_ledger_fee() -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | pub fn send_xrp(&self, amount_in_drops: u32, destination: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn to_json(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub fn from_json(json_wallet: &str) -> TXRPWallet { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_xrp_wallet_without_mnemonic_or_seed` is never used [INFO] [stdout] --> src/wallet_functionality.rs:314:8 [INFO] [stdout] | [INFO] [stdout] 314 | pub fn generate_xrp_wallet_without_mnemonic_or_seed(word_amount: Option) -> Wallet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserOptions` is never constructed [INFO] [stdout] --> src/menu_navigation.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | struct UserOptions { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FeePreference` is never used [INFO] [stdout] --> src/menu_navigation.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | enum FeePreference { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MenuAction` is never used [INFO] [stdout] --> src/menu_navigation.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | enum MenuAction { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clear_screen` is never used [INFO] [stdout] --> src/menu_navigation.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn clear_screen() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `home_menu` is never used [INFO] [stdout] --> src/menu_navigation.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn home_menu() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `option_1_create_a_wallet` is never used [INFO] [stdout] --> src/menu_navigation.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn option_1_create_a_wallet() -> MenuAction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `option_2_view_and_transact_with_wallets` is never used [INFO] [stdout] --> src/menu_navigation.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn option_2_view_and_transact_with_wallets() -> MenuAction{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `option_3_import_wallet` is never used [INFO] [stdout] --> src/menu_navigation.rs:192:4 [INFO] [stdout] | [INFO] [stdout] 192 | fn option_3_import_wallet() -> MenuAction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decrypt_ciphertext` is never used [INFO] [stdout] --> src/encryption.rs:195:8 [INFO] [stdout] | [INFO] [stdout] 195 | pub fn decrypt_ciphertext(ciphertext: &str, password: &str, salt: &[u8], nonce: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DBError` is never used [INFO] [stdout] --> src/database.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | enum DBError { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `insert_wallet_into_db` is never used [INFO] [stdout] --> src/database.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn insert_wallet_into_db(wallet: &TXRPWallet) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `row_to_wallet` is never used [INFO] [stdout] --> src/database.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn row_to_wallet(row: &Row) -> rusqlite::Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_wallets_from_db` is never used [INFO] [stdout] --> src/database.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn get_wallets_from_db() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `attempt_test_data_insertion` is never used [INFO] [stdout] --> src/database.rs:137:8 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn attempt_test_data_insertion() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CLIENT` is never used [INFO] [stdout] --> src/requests_io.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | static CLIENT: OnceLock = OnceLock::new(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `http_client` is never used [INFO] [stdout] --> src/requests_io.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn http_client() -> &'static Client { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `xrp_ledger_call` is never used [INFO] [stdout] --> src/requests_io.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn xrp_ledger_call(method: &str, parameters: Value) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 01s [INFO] running `Command { std: "docker" "inspect" "5cbe8b3eb6b0062ed41c75fd91dc8ecd13eb03cc0faa7dc5e9bb80f6a3890a28", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5cbe8b3eb6b0062ed41c75fd91dc8ecd13eb03cc0faa7dc5e9bb80f6a3890a28", kill_on_drop: false }` [INFO] [stdout] 5cbe8b3eb6b0062ed41c75fd91dc8ecd13eb03cc0faa7dc5e9bb80f6a3890a28