[INFO] fetching crate solana-network-sdk 0.2.2...
[INFO] testing solana-network-sdk-0.2.2 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-8
[INFO] extracting crate solana-network-sdk 0.2.2 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate solana-network-sdk 0.2.2
[INFO] finished tweaking crates.io crate solana-network-sdk 0.2.2
[INFO] tweaked toml for crates.io crate solana-network-sdk 0.2.2 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate solana-network-sdk 0.2.2 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 solana-network-sdk 0.2.2 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]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded solana-transaction-status-client-types v3.0.6
[INFO] [stderr]   Downloaded agave-reserved-account-keys v3.0.6
[INFO] [stderr]   Downloaded spl-associated-token-account-interface v2.0.0
[INFO] [stderr]   Downloaded solana-transaction-context v3.0.6
[INFO] [stderr]   Downloaded solana-transaction-status v3.0.6
[INFO] [stderr]   Downloaded solana-account v3.1.0
[INFO] [stderr]   Downloaded spl-token v8.0.0
[INFO] [stderr]   Downloaded solana-curve25519 v2.3.13
[INFO] [stderr]   Downloaded solana-sysvar v2.3.0
[INFO] [stderr]   Downloaded spl-memo-interface v2.0.0
[INFO] [stderr]   Downloaded agave-feature-set v3.0.6
[INFO] [stderr]   Downloaded solana-quic-client v3.0.6
[INFO] [stderr]   Downloaded solana-rayon-threadlimit v3.0.6
[INFO] [stderr]   Downloaded solana-rpc-client-api v3.0.6
[INFO] [stderr]   Downloaded solana-rpc-client-nonce-utils v3.0.6
[INFO] [stderr]   Downloaded solana-version v3.0.6
[INFO] [stderr]   Downloaded solana-svm-feature-set v3.0.6
[INFO] [stderr]   Downloaded solana-tpu-client v3.0.6
[INFO] [stderr]   Downloaded solana-pubsub-client v3.0.6
[INFO] [stderr]   Downloaded solana-net-utils v3.0.6
[INFO] [stderr]   Downloaded solana-udp-client v3.0.6
[INFO] [stderr]   Downloaded solana-measure v3.0.6
[INFO] [stderr]   Downloaded solana-metrics v3.0.6
[INFO] [stderr]   Downloaded solana-connection-cache v3.0.6
[INFO] [stderr]   Downloaded regex-syntax v0.8.7
[INFO] [stderr]   Downloaded solana-rpc-client-types v3.0.6
[INFO] [stderr]   Downloaded regex v1.12.1
[INFO] [stderr]   Downloaded solana-perf v3.0.6
[INFO] [stderr]   Downloaded solana-streamer v3.0.6
[INFO] [stderr]   Downloaded regex-automata v0.4.12
[INFO] [stderr]   Downloaded solana-transaction-metrics-tracker v3.0.6
[INFO] [stderr]   Downloaded solana-rpc-client v3.0.6
[INFO] [stderr]   Downloaded webpki-roots v1.0.3
[INFO] [stderr]   Downloaded solana-account-decoder v3.0.6
[INFO] [stderr]   Downloaded solana-tls-utils v3.0.6
[INFO] [stderr]   Downloaded solana-client v3.0.6
[INFO] [stderr]   Downloaded solana-loader-v2-interface v3.0.0
[INFO] [stderr]   Downloaded solana-account-decoder-client-types v3.0.6
[INFO] [stderr]   Downloaded webpki-root-certs v1.0.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 5f4d2876328f9871bf79fb9764f1bae170451e03c975980404dd4acc57a78b6d
[INFO] running `Command { std: "docker" "start" "-a" "5f4d2876328f9871bf79fb9764f1bae170451e03c975980404dd4acc57a78b6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5f4d2876328f9871bf79fb9764f1bae170451e03c975980404dd4acc57a78b6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f4d2876328f9871bf79fb9764f1bae170451e03c975980404dd4acc57a78b6d", kill_on_drop: false }`
[INFO] [stdout] 5f4d2876328f9871bf79fb9764f1bae170451e03c975980404dd4acc57a78b6d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 8c7bd62b72d92f715768f883d0ef5274fba5ac6686f6caf3f8427ee979d6b8ad
[INFO] running `Command { std: "docker" "start" "-a" "8c7bd62b72d92f715768f883d0ef5274fba5ac6686f6caf3f8427ee979d6b8ad", kill_on_drop: false }`
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling five8_core v0.1.2
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling indexmap v2.11.4
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling five8 v0.2.1
[INFO] [stderr]    Compiling five8_const v0.1.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling borsh v1.5.7
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling bs58 v0.5.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling feature-probe v0.1.1
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling bv v0.11.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling cc v1.2.41
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling solana-msg v3.0.0
[INFO] [stderr]    Compiling solana-program-memory v3.0.0
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling derivation-path v0.2.0
[INFO] [stderr]    Compiling uriparse v0.6.4
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling solana-atomic-u64 v2.2.1
[INFO] [stderr]    Compiling solana-sanitize v2.2.1
[INFO] [stderr]    Compiling solana-decode-error v2.3.0
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling constant_time_eq v0.3.1
[INFO] [stderr]    Compiling rustls v0.23.32
[INFO] [stderr]    Compiling solana-define-syscall v3.0.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling toml_edit v0.23.7
[INFO] [stderr]    Compiling serde_bytes v0.11.19
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling solana-derivation-path v3.0.0
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling brotli-decompressor v5.0.0
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling solana-seed-derivable v3.0.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling flate2 v1.1.4
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling brotli v8.0.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling compression-core v0.4.29
[INFO] [stderr]    Compiling iri-string v0.7.8
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling unreachable v1.0.0
[INFO] [stderr]    Compiling ascii v0.9.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]    Compiling combine v3.8.1
[INFO] [stderr]    Compiling hash32 v0.3.1
[INFO] [stderr]    Compiling rustc-demangle v0.1.26
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling borsh-derive v1.5.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling solana-sdk-macro v3.0.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling solana-hash v3.0.0
[INFO] [stderr]    Compiling solana-program-error v3.0.0
[INFO] [stderr]    Compiling solana-sha256-hasher v3.0.0
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling solana-instruction-error v2.0.0
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling solana-transaction-error v3.0.0
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling serde-big-array v0.5.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling solana-short-vec v3.0.0
[INFO] [stderr]    Compiling solana-fee-calculator v3.0.0
[INFO] [stderr]    Compiling pbkdf2 v0.11.0
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling solana-seed-phrase v3.0.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.7
[INFO] [stderr]    Compiling solana-pubkey v2.4.0
[INFO] [stderr]    Compiling solana-address v1.0.0
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling solana-pubkey v3.0.0
[INFO] [stderr]    Compiling solana-sdk-ids v3.0.0
[INFO] [stderr]    Compiling solana-instruction v3.0.0
[INFO] [stderr]    Compiling solana-signature v3.1.0
[INFO] [stderr]    Compiling solana-sysvar-id v3.0.0
[INFO] [stderr]    Compiling solana-account-info v3.0.0
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling solana-signer v3.0.0
[INFO] [stderr]    Compiling potential_utf v0.1.3
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling solana-clock v3.0.0
[INFO] [stderr]    Compiling solana-epoch-schedule v3.0.0
[INFO] [stderr]    Compiling solana-slot-hashes v3.0.0
[INFO] [stderr]    Compiling solana-rent v3.0.0
[INFO] [stderr]    Compiling solana-program-entrypoint v3.1.0
[INFO] [stderr]    Compiling solana-last-restart-slot v3.0.0
[INFO] [stderr]    Compiling solana-epoch-rewards v3.0.0
[INFO] [stderr]    Compiling solana-slot-history v3.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling solana-sysvar v3.0.0
[INFO] [stderr]    Compiling solana-message v3.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling solana-serialize-utils v3.1.0
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling solana-instructions-sysvar v3.0.0
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling solana-account v3.1.0
[INFO] [stderr]    Compiling serde_with_macros v3.15.0
[INFO] [stderr]    Compiling webpki-roots v1.0.3
[INFO] [stderr]    Compiling compression-codecs v0.4.31
[INFO] [stderr]    Compiling cfg_eval v0.1.2
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling solana-system-interface v2.0.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling solana-serde-varint v3.0.0
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling num_enum_derive v0.7.4
[INFO] [stderr]    Compiling serde_with v3.15.0
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling solana-transaction v3.0.1
[INFO] [stderr]    Compiling solana-sdk-ids v2.2.1
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling solana-svm-feature-set v3.0.6
[INFO] [stderr]    Compiling agave-feature-set v3.0.6
[INFO] [stderr]    Compiling solana-sysvar-id v2.2.1
[INFO] [stderr]    Compiling num_enum v0.7.4
[INFO] [stderr]    Compiling polyval v0.6.2
[INFO] [stderr]    Compiling solana-account-decoder-client-types v3.0.6
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling async-compression v0.4.32
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling ed25519-dalek-bip32 v0.3.0
[INFO] [stderr]    Compiling solana-instruction v2.3.0
[INFO] [stderr]    Compiling solana-commitment-config v3.0.0
[INFO] [stderr]    Compiling hyper-util v0.1.17
[INFO] [stderr]    Compiling solana-sbpf v0.12.2
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling solana-program-option v3.0.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling deranged v0.5.4
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling aes-gcm-siv v0.11.1
[INFO] [stderr]    Compiling solana-keypair v3.0.1
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling spl-generic-token v2.0.1
[INFO] [stderr]    Compiling solana-reward-info v3.0.0
[INFO] [stderr]    Compiling reqwest v0.12.23
[INFO] [stderr]    Compiling merlin v3.0.0
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling solana-time-utils v3.0.0
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling solana-version v3.0.6
[INFO] [stderr]    Compiling rusticata-macros v4.1.0
[INFO] [stderr]    Compiling solana-zk-sdk v4.0.0
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling solana-transaction-context v3.0.6
[INFO] [stderr]    Compiling asn1-rs-derive v0.4.0
[INFO] [stderr]    Compiling solana-transaction-status-client-types v3.0.6
[INFO] [stderr]    Compiling solana-cluster-type v3.0.0
[INFO] [stderr]    Compiling solana-inflation v3.0.0
[INFO] [stderr]    Compiling asn1-rs-impl v0.1.0
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling gethostname v0.2.3
[INFO] [stderr]    Compiling solana-msg v2.2.1
[INFO] [stderr]    Compiling solana-program-error v2.2.2
[INFO] [stderr]    Compiling solana-metrics v3.0.6
[INFO] [stderr]    Compiling asn1-rs v0.5.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling spl-discriminator-syn v0.2.1
[INFO] [stderr]    Compiling solana-packet v3.0.0
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling solana-sdk-macro v2.2.1
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling oid-registry v0.6.1
[INFO] [stderr]    Compiling rustls-native-certs v0.8.1
[INFO] [stderr]    Compiling solana-rpc-client-types v3.0.6
[INFO] [stderr]    Compiling spl-discriminator-derive v0.2.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling solana-nonce v3.0.0
[INFO] [stderr]    Compiling solana-serde v3.0.0
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling dlopen2_derive v0.3.0
[INFO] [stderr]    Compiling ff v0.13.1
[INFO] [stderr]    Compiling quinn-udp v0.5.14
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling base16ct v0.2.0
[INFO] [stderr]    Compiling solana-program-memory v2.3.1
[INFO] [stderr]    Compiling solana-perf v3.0.6
[INFO] [stderr]    Compiling solana-account-info v2.3.0
[INFO] [stderr]    Compiling solana-rayon-threadlimit v3.0.6
[INFO] [stderr]    Compiling sec1 v0.7.3
[INFO] [stderr]    Compiling fastbloom v0.14.0
[INFO] [stderr]    Compiling dlopen2 v0.5.0
[INFO] [stderr]    Compiling group v0.13.0
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling spl-pod v0.7.1
[INFO] [stderr]    Compiling spl-discriminator v0.5.1
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.1
[INFO] [stderr]    Compiling der-parser v8.2.0
[INFO] [stderr]    Compiling reqwest-middleware v0.4.2
[INFO] [stderr]    Compiling jsonrpc-core v18.0.0
[INFO] [stderr]    Compiling solana-vote-interface v3.0.0
[INFO] [stderr]    Compiling caps v0.5.5
[INFO] [stderr]    Compiling raw-cpuid v11.6.0
[INFO] [stderr]    Compiling solana-program-pack v3.0.0
[INFO] [stderr]    Compiling solana-epoch-info v3.0.0
[INFO] [stderr]    Compiling solana-borsh v3.0.0
[INFO] [stderr]    Compiling crypto-bigint v0.5.5
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling quinn v0.11.9
[INFO] [stderr]    Compiling lru-slab v0.1.2
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling solana-measure v3.0.6
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling quinn-proto v0.11.13
[INFO] [stderr]    Compiling console v0.16.1
[INFO] [stderr]    Compiling num v0.2.1
[INFO] [stderr]    Compiling solana-rpc-client-api v3.0.6
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling x509-parser v0.14.0
[INFO] [stderr]    Compiling quanta v0.12.6
[INFO] [stderr]    Compiling elliptic-curve v0.13.8
[INFO] [stderr]    Compiling solana-net-utils v3.0.6
[INFO] [stderr]    Compiling webpki-roots v0.24.0
[INFO] [stderr]    Compiling solana-quic-definitions v3.0.0
[INFO] [stderr]    Compiling solana-address-lookup-table-interface v3.0.0
[INFO] [stderr]    Compiling solana-cpi v3.0.0
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling rfc6979 v0.4.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling spinning_top v0.3.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling nonzero_ext v0.3.0
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling no-std-compat v0.4.1
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling unit-prefix v0.5.1
[INFO] [stderr]    Compiling regex-syntax v0.8.7
[INFO] [stderr]    Compiling tungstenite v0.20.1
[INFO] [stderr]    Compiling indicatif v0.18.0
[INFO] [stderr]    Compiling governor v0.6.3
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling solana-tls-utils v3.0.6
[INFO] [stderr]    Compiling ecdsa v0.16.9
[INFO] [stderr]    Compiling solana-transaction-metrics-tracker v3.0.6
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling percentage v0.1.0
[INFO] [stderr]    Compiling solana-connection-cache v3.0.6
[INFO] [stderr]    Compiling spl-type-length-value v0.9.0
[INFO] [stderr]    Compiling pem v1.1.1
[INFO] [stderr]    Compiling regex-automata v0.4.12
[INFO] [stderr]    Compiling solana-feature-gate-interface v3.0.0
[INFO] [stderr]    Compiling solana-curve25519 v2.3.13
[INFO] [stderr]    Compiling solana-hash v2.3.0
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling histogram v0.6.9
[INFO] [stderr]    Compiling solana-streamer v3.0.6
[INFO] [stderr]    Compiling tokio-tungstenite v0.20.1
[INFO] [stderr]    Compiling spl-token-confidential-transfer-proof-extraction v0.5.0
[INFO] [stderr]    Compiling solana-rpc-client v3.0.6
[INFO] [stderr]    Compiling spl-token-metadata-interface v0.8.0
[INFO] [stderr]    Compiling k256 v0.13.4
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling spl-token-group-interface v0.7.1
[INFO] [stderr]    Compiling spl-token-confidential-transfer-proof-generation v0.5.0
[INFO] [stderr]    Compiling solana-cpi v2.2.1
[INFO] [stderr]    Compiling solana-clock v2.2.2
[INFO] [stderr]    Compiling solana-system-interface v1.0.0
[INFO] [stderr]    Compiling solana-serialize-utils v2.2.1
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling solana-keccak-hasher v3.0.0
[INFO] [stderr]    Compiling solana-example-mocks v3.0.0
[INFO] [stderr]    Compiling solana-stake-interface v1.2.1
[INFO] [stderr]    Compiling solana-instructions-sysvar v2.2.2
[INFO] [stderr]    Compiling solana-secp256k1-recover v3.0.0
[INFO] [stderr]    Compiling solana-pubsub-client v3.0.6
[INFO] [stderr]    Compiling spl-token-2022-interface v2.0.0
[INFO] [stderr]    Compiling async-lock v3.4.1
[INFO] [stderr]    Compiling regex v1.12.1
[INFO] [stderr]    Compiling solana-slot-hashes v2.2.1
[INFO] [stderr]    Compiling solana-epoch-rewards v2.2.1
[INFO] [stderr]    Compiling solana-stake-interface v2.0.1
[INFO] [stderr]    Compiling solana-client-traits v3.0.0
[INFO] [stderr]    Compiling Inflector v0.11.4
[INFO] [stderr]    Compiling spl-token-interface v2.0.0
[INFO] [stderr]    Compiling solana-program-entrypoint v2.3.0
[INFO] [stderr]    Compiling solana-last-restart-slot v2.2.1
[INFO] [stderr]    Compiling solana-epoch-schedule v2.2.1
[INFO] [stderr]    Compiling solana-rent v2.2.1
[INFO] [stderr]    Compiling solana-big-mod-exp v3.0.0
[INFO] [stderr]    Compiling solana-slot-history v2.2.1
[INFO] [stderr]    Compiling solana-loader-v3-interface v6.1.0
[INFO] [stderr]    Compiling solana-config-interface v2.0.0
[INFO] [stderr]    Compiling solana-stable-layout v3.0.0
[INFO] [stderr]    Compiling solana-epoch-stake v3.0.0
[INFO] [stderr]    Compiling solana-blake3-hasher v3.0.0
[INFO] [stderr]    Compiling solana-fee-calculator v2.2.1
[INFO] [stderr]    Compiling solana-hard-forks v3.0.0
[INFO] [stderr]    Compiling solana-native-token v3.0.0
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling solana-program v3.0.0
[INFO] [stderr]    Compiling solana-account-decoder v3.0.6
[INFO] [stderr]    Compiling solana-sysvar v2.3.0
[INFO] [stderr]    Compiling solana-epoch-rewards-hasher v3.0.0
[INFO] [stderr]    Compiling solana-shred-version v3.0.0
[INFO] [stderr]    Compiling solana-quic-client v3.0.6
[INFO] [stderr]    Compiling solana-udp-client v3.0.6
[INFO] [stderr]    Compiling solana-offchain-message v3.0.0
[INFO] [stderr]    Compiling solana-program-pack v2.2.1
[INFO] [stderr]    Compiling agave-reserved-account-keys v3.0.6
[INFO] [stderr]    Compiling solana-presigner v3.0.0
[INFO] [stderr]    Compiling solana-loader-v2-interface v3.0.0
[INFO] [stderr]    Compiling spl-associated-token-account-interface v2.0.0
[INFO] [stderr]    Compiling spl-memo-interface v2.0.0
[INFO] [stderr]    Compiling solana-fee-structure v3.0.0
[INFO] [stderr]    Compiling solana-program-option v2.2.1
[INFO] [stderr]    Compiling solana-sdk v3.0.0
[INFO] [stderr]    Compiling solana-rpc-client-nonce-utils v3.0.6
[INFO] [stderr]    Compiling solana-tpu-client v3.0.6
[INFO] [stderr]    Compiling spl-token v8.0.0
[INFO] [stderr]    Compiling solana-client v3.0.6
[INFO] [stderr]    Compiling solana-transaction-status v3.0.6
[INFO] [stderr]    Compiling solana-network-sdk v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `str::FromStr`
[INFO] [stdout]  --> src/account.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{str::FromStr, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rpc_client::GetConfirmedSignaturesForAddress2Config`
[INFO] [stdout]  --> src/account.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 |     nonblocking::rpc_client::RpcClient, rpc_client::GetConfirmedSignaturesForAddress2Config,
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `solana_program::pubkey`
[INFO] [stdout]  --> src/account.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use solana_program::pubkey;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `clock::Epoch`, `native_token::LAMPORTS_PER_SOL`, and `pubkey::Pubkey`
[INFO] [stdout]  --> src/account.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | use solana_sdk::{clock::Epoch, native_token::LAMPORTS_PER_SOL, pubkey::Pubkey};
[INFO] [stdout]   |                  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UiInstruction`
[INFO] [stdout]   --> src/trade.rs:16:68
[INFO] [stdout]    |
[INFO] [stdout] 16 |     EncodedConfirmedTransactionWithStatusMeta, EncodedTransaction, UiInstruction, UiMessage,
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Signature`
[INFO] [stdout]  --> src/wallet.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 |     signature::{Signature, Signer},
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decimals`
[INFO] [stdout]    --> src/tool.rs:378:41
[INFO] [stdout]     |
[INFO] [stdout] 378 |     pub fn validate_amount(amount: u64, decimals: u8) -> bool {
[INFO] [stdout]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decimals`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `legacy`
[INFO] [stdout]    --> src/trade.rs:706:44
[INFO] [stdout]     |
[INFO] [stdout] 706 |                 TransactionVersion::Legacy(legacy) => {}
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Legacy`
[INFO] [stdout]     |
[INFO] [stdout] 706 -                 TransactionVersion::Legacy(legacy) => {}
[INFO] [stdout] 706 +                 TransactionVersion::Legacy(solana_sdk::transaction::Legacy::Legacy) => {}
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 706 |                 TransactionVersion::Legacy(_legacy) => {}
[INFO] [stdout]     |                                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partial_inst`
[INFO] [stdout]    --> src/trade.rs:738:29
[INFO] [stdout]     |
[INFO] [stdout] 738 | ...                   partial_inst,
[INFO] [stdout]     |                       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partial_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/trade.rs:758:9
[INFO] [stdout]     |
[INFO] [stdout] 758 |         tx: &EncodedConfirmedTransactionWithStatusMeta,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/trade.rs:870:12
[INFO] [stdout]     |
[INFO] [stdout] 870 |         if let (pre_balances, post_balances) = (&meta.pre_balances, &meta.post_balances) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/trade.rs:898:40
[INFO] [stdout]     |
[INFO] [stdout] 898 | ...                   if let account_keys = &parsed_msg.account_keys {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/trade.rs:934:32
[INFO] [stdout]     |
[INFO] [stdout] 934 | ...                   if let account_keys = &parsed_msg.account_keys {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/trade.rs:936:40
[INFO] [stdout]     |
[INFO] [stdout] 936 | ...                   if let pubkey = &fee_payer.pubkey {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/trade.rs:985:12
[INFO] [stdout]     |
[INFO] [stdout] 985 |           if let (pre_token_balances, post_token_balances) =
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 986 | |             (&meta.pre_token_balances, &meta.post_token_balances)
[INFO] [stdout]     | |_________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]     --> src/trade.rs:1084:12
[INFO] [stdout]      |
[INFO] [stdout] 1084 |         if let logs = &meta.log_messages {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]      = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]     --> src/trade.rs:1126:12
[INFO] [stdout]      |
[INFO] [stdout] 1126 |         if let logs = &meta.log_messages.clone().unwrap_or(vec![]) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]      = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]     --> src/trade.rs:1148:12
[INFO] [stdout]      |
[INFO] [stdout] 1148 |         if let instructions = &parsed_msg.instructions {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]      = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]     --> src/trade.rs:1246:24
[INFO] [stdout]      |
[INFO] [stdout] 1246 |                     if let account_keys = &parsed_msg.account_keys {
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]      = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]     --> src/trade.rs:1251:32
[INFO] [stdout]      |
[INFO] [stdout] 1251 | ...                   if let (from_pubkey, to_pubkey) = (&from_acc.pubkey, &to_acc.pubkey) {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]      = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/lib.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |             _ => {
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/lib.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |             Mode::MAIN => {
[INFO] [stdout]    |             ---------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 35 |             Mode::TEST => {
[INFO] [stdout]    |             ---------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 38 |             Mode::DEV => {
[INFO] [stdout]    |             --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 41 |             _ => {
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:166:23
[INFO] [stdout]     |
[INFO] [stdout] 166 |             .map_err(|e| UnifiedError::Error(0.0))?;
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:161:61
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let pubkey = Pubkey::from_str(&public_key).map_err(|e| UnifiedError::Error(0.0))?;
[INFO] [stdout]     |                                                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mode` is never read
[INFO] [stdout]   --> src/lib.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Solana {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 23 |     mode: Mode,
[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 `client` is never read
[INFO] [stdout]   --> src/account.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Account {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 10 |     client: Arc<RpcClient>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `client` is never read
[INFO] [stdout]  --> src/scan.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Scan {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 6 |     client: Arc<RpcClient>,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 57s
[INFO] running `Command { std: "docker" "inspect" "8c7bd62b72d92f715768f883d0ef5274fba5ac6686f6caf3f8427ee979d6b8ad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c7bd62b72d92f715768f883d0ef5274fba5ac6686f6caf3f8427ee979d6b8ad", kill_on_drop: false }`
[INFO] [stdout] 8c7bd62b72d92f715768f883d0ef5274fba5ac6686f6caf3f8427ee979d6b8ad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 80002514b893ca72a35b50247bab8081f1f6779955fda8e34ed3a6083472a96e
[INFO] running `Command { std: "docker" "start" "-a" "80002514b893ca72a35b50247bab8081f1f6779955fda8e34ed3a6083472a96e", kill_on_drop: false }`
[INFO] [stderr]    Compiling solana-network-sdk v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `str::FromStr`
[INFO] [stdout]  --> src/account.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{str::FromStr, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rpc_client::GetConfirmedSignaturesForAddress2Config`
[INFO] [stdout]  --> src/account.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 |     nonblocking::rpc_client::RpcClient, rpc_client::GetConfirmedSignaturesForAddress2Config,
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `solana_program::pubkey`
[INFO] [stdout]  --> src/account.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use solana_program::pubkey;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `clock::Epoch`, `native_token::LAMPORTS_PER_SOL`, and `pubkey::Pubkey`
[INFO] [stdout]  --> src/account.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | use solana_sdk::{clock::Epoch, native_token::LAMPORTS_PER_SOL, pubkey::Pubkey};
[INFO] [stdout]   |                  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UiInstruction`
[INFO] [stdout]   --> src/trade.rs:16:68
[INFO] [stdout]    |
[INFO] [stdout] 16 |     EncodedConfirmedTransactionWithStatusMeta, EncodedTransaction, UiInstruction, UiMessage,
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Signature`
[INFO] [stdout]  --> src/wallet.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 |     signature::{Signature, Signer},
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decimals`
[INFO] [stdout]    --> src/tool.rs:378:41
[INFO] [stdout]     |
[INFO] [stdout] 378 |     pub fn validate_amount(amount: u64, decimals: u8) -> bool {
[INFO] [stdout]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decimals`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `legacy`
[INFO] [stdout]    --> src/trade.rs:706:44
[INFO] [stdout]     |
[INFO] [stdout] 706 |                 TransactionVersion::Legacy(legacy) => {}
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Legacy`
[INFO] [stdout]     |
[INFO] [stdout] 706 -                 TransactionVersion::Legacy(legacy) => {}
[INFO] [stdout] 706 +                 TransactionVersion::Legacy(solana_sdk::transaction::Legacy::Legacy) => {}
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 706 |                 TransactionVersion::Legacy(_legacy) => {}
[INFO] [stdout]     |                                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partial_inst`
[INFO] [stdout]    --> src/trade.rs:738:29
[INFO] [stdout]     |
[INFO] [stdout] 738 | ...                   partial_inst,
[INFO] [stdout]     |                       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partial_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/trade.rs:758:9
[INFO] [stdout]     |
[INFO] [stdout] 758 |         tx: &EncodedConfirmedTransactionWithStatusMeta,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/trade.rs:870:12
[INFO] [stdout]     |
[INFO] [stdout] 870 |         if let (pre_balances, post_balances) = (&meta.pre_balances, &meta.post_balances) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/trade.rs:898:40
[INFO] [stdout]     |
[INFO] [stdout] 898 | ...                   if let account_keys = &parsed_msg.account_keys {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/trade.rs:934:32
[INFO] [stdout]     |
[INFO] [stdout] 934 | ...                   if let account_keys = &parsed_msg.account_keys {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/trade.rs:936:40
[INFO] [stdout]     |
[INFO] [stdout] 936 | ...                   if let pubkey = &fee_payer.pubkey {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/trade.rs:985:12
[INFO] [stdout]     |
[INFO] [stdout] 985 |           if let (pre_token_balances, post_token_balances) =
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 986 | |             (&meta.pre_token_balances, &meta.post_token_balances)
[INFO] [stdout]     | |_________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]     --> src/trade.rs:1084:12
[INFO] [stdout]      |
[INFO] [stdout] 1084 |         if let logs = &meta.log_messages {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]      = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]     --> src/trade.rs:1126:12
[INFO] [stdout]      |
[INFO] [stdout] 1126 |         if let logs = &meta.log_messages.clone().unwrap_or(vec![]) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]      = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]     --> src/trade.rs:1148:12
[INFO] [stdout]      |
[INFO] [stdout] 1148 |         if let instructions = &parsed_msg.instructions {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]      = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]     --> src/trade.rs:1246:24
[INFO] [stdout]      |
[INFO] [stdout] 1246 |                     if let account_keys = &parsed_msg.account_keys {
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]      = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]     --> src/trade.rs:1251:32
[INFO] [stdout]      |
[INFO] [stdout] 1251 | ...                   if let (from_pubkey, to_pubkey) = (&from_acc.pubkey, &to_acc.pubkey) {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]      = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/lib.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |             _ => {
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/lib.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |             Mode::MAIN => {
[INFO] [stdout]    |             ---------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 35 |             Mode::TEST => {
[INFO] [stdout]    |             ---------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 38 |             Mode::DEV => {
[INFO] [stdout]    |             --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 41 |             _ => {
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:166:23
[INFO] [stdout]     |
[INFO] [stdout] 166 |             .map_err(|e| UnifiedError::Error(0.0))?;
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:161:61
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let pubkey = Pubkey::from_str(&public_key).map_err(|e| UnifiedError::Error(0.0))?;
[INFO] [stdout]     |                                                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mode` is never read
[INFO] [stdout]   --> src/lib.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Solana {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 23 |     mode: Mode,
[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 `client` is never read
[INFO] [stdout]   --> src/account.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Account {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 10 |     client: Arc<RpcClient>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `client` is never read
[INFO] [stdout]  --> src/scan.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Scan {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 6 |     client: Arc<RpcClient>,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `str::FromStr`
[INFO] [stdout]  --> src/account.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{str::FromStr, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rpc_client::GetConfirmedSignaturesForAddress2Config`
[INFO] [stdout]  --> src/account.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 |     nonblocking::rpc_client::RpcClient, rpc_client::GetConfirmedSignaturesForAddress2Config,
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `solana_program::pubkey`
[INFO] [stdout]  --> src/account.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use solana_program::pubkey;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `clock::Epoch`, `native_token::LAMPORTS_PER_SOL`, and `pubkey::Pubkey`
[INFO] [stdout]  --> src/account.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | use solana_sdk::{clock::Epoch, native_token::LAMPORTS_PER_SOL, pubkey::Pubkey};
[INFO] [stdout]   |                  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UiInstruction`
[INFO] [stdout]   --> src/trade.rs:16:68
[INFO] [stdout]    |
[INFO] [stdout] 16 |     EncodedConfirmedTransactionWithStatusMeta, EncodedTransaction, UiInstruction, UiMessage,
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Signature`
[INFO] [stdout]  --> src/wallet.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 |     signature::{Signature, Signer},
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decimals`
[INFO] [stdout]    --> src/tool.rs:378:41
[INFO] [stdout]     |
[INFO] [stdout] 378 |     pub fn validate_amount(amount: u64, decimals: u8) -> bool {
[INFO] [stdout]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decimals`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `legacy`
[INFO] [stdout]    --> src/trade.rs:706:44
[INFO] [stdout]     |
[INFO] [stdout] 706 |                 TransactionVersion::Legacy(legacy) => {}
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Legacy`
[INFO] [stdout]     |
[INFO] [stdout] 706 -                 TransactionVersion::Legacy(legacy) => {}
[INFO] [stdout] 706 +                 TransactionVersion::Legacy(solana_sdk::transaction::Legacy::Legacy) => {}
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 706 |                 TransactionVersion::Legacy(_legacy) => {}
[INFO] [stdout]     |                                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partial_inst`
[INFO] [stdout]    --> src/trade.rs:738:29
[INFO] [stdout]     |
[INFO] [stdout] 738 | ...                   partial_inst,
[INFO] [stdout]     |                       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partial_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/trade.rs:758:9
[INFO] [stdout]     |
[INFO] [stdout] 758 |         tx: &EncodedConfirmedTransactionWithStatusMeta,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/trade.rs:870:12
[INFO] [stdout]     |
[INFO] [stdout] 870 |         if let (pre_balances, post_balances) = (&meta.pre_balances, &meta.post_balances) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/trade.rs:898:40
[INFO] [stdout]     |
[INFO] [stdout] 898 | ...                   if let account_keys = &parsed_msg.account_keys {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/trade.rs:934:32
[INFO] [stdout]     |
[INFO] [stdout] 934 | ...                   if let account_keys = &parsed_msg.account_keys {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/trade.rs:936:40
[INFO] [stdout]     |
[INFO] [stdout] 936 | ...                   if let pubkey = &fee_payer.pubkey {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/trade.rs:985:12
[INFO] [stdout]     |
[INFO] [stdout] 985 |           if let (pre_token_balances, post_token_balances) =
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 986 | |             (&meta.pre_token_balances, &meta.post_token_balances)
[INFO] [stdout]     | |_________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]     --> src/trade.rs:1084:12
[INFO] [stdout]      |
[INFO] [stdout] 1084 |         if let logs = &meta.log_messages {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]      = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]     --> src/trade.rs:1126:12
[INFO] [stdout]      |
[INFO] [stdout] 1126 |         if let logs = &meta.log_messages.clone().unwrap_or(vec![]) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]      = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]     --> src/trade.rs:1148:12
[INFO] [stdout]      |
[INFO] [stdout] 1148 |         if let instructions = &parsed_msg.instructions {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]      = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]     --> src/trade.rs:1246:24
[INFO] [stdout]      |
[INFO] [stdout] 1246 |                     if let account_keys = &parsed_msg.account_keys {
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]      = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]     --> src/trade.rs:1251:32
[INFO] [stdout]      |
[INFO] [stdout] 1251 | ...                   if let (from_pubkey, to_pubkey) = (&from_acc.pubkey, &to_acc.pubkey) {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]      = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/lib.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |             _ => {
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/lib.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |             Mode::MAIN => {
[INFO] [stdout]    |             ---------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 35 |             Mode::TEST => {
[INFO] [stdout]    |             ---------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 38 |             Mode::DEV => {
[INFO] [stdout]    |             --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 41 |             _ => {
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:166:23
[INFO] [stdout]     |
[INFO] [stdout] 166 |             .map_err(|e| UnifiedError::Error(0.0))?;
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:161:61
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let pubkey = Pubkey::from_str(&public_key).map_err(|e| UnifiedError::Error(0.0))?;
[INFO] [stdout]     |                                                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mode` is never read
[INFO] [stdout]   --> src/lib.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Solana {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 23 |     mode: Mode,
[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 `client` is never read
[INFO] [stdout]   --> src/account.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Account {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 10 |     client: Arc<RpcClient>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `client` is never read
[INFO] [stdout]  --> src/scan.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Scan {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 6 |     client: Arc<RpcClient>,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.40s
[INFO] running `Command { std: "docker" "inspect" "80002514b893ca72a35b50247bab8081f1f6779955fda8e34ed3a6083472a96e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "80002514b893ca72a35b50247bab8081f1f6779955fda8e34ed3a6083472a96e", kill_on_drop: false }`
[INFO] [stdout] 80002514b893ca72a35b50247bab8081f1f6779955fda8e34ed3a6083472a96e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 7efa7b708969a58403f654fd6f38dbcc59ebd2a3642909017f8f177e36efa39f
[INFO] running `Command { std: "docker" "start" "-a" "7efa7b708969a58403f654fd6f38dbcc59ebd2a3642909017f8f177e36efa39f", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `str::FromStr`
[INFO] [stderr]  --> src/account.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{str::FromStr, sync::Arc};
[INFO] [stderr]   |           ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rpc_client::GetConfirmedSignaturesForAddress2Config`
[INFO] [stderr]  --> src/account.rs:4:41
[INFO] [stderr]   |
[INFO] [stderr] 4 |     nonblocking::rpc_client::RpcClient, rpc_client::GetConfirmedSignaturesForAddress2Config,
[INFO] [stderr]   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `solana_program::pubkey`
[INFO] [stderr]  --> src/account.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use solana_program::pubkey;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `clock::Epoch`, `native_token::LAMPORTS_PER_SOL`, and `pubkey::Pubkey`
[INFO] [stderr]  --> src/account.rs:7:18
[INFO] [stderr]   |
[INFO] [stderr] 7 | use solana_sdk::{clock::Epoch, native_token::LAMPORTS_PER_SOL, pubkey::Pubkey};
[INFO] [stderr]   |                  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `UiInstruction`
[INFO] [stderr]   --> src/trade.rs:16:68
[INFO] [stderr]    |
[INFO] [stderr] 16 |     EncodedConfirmedTransactionWithStatusMeta, EncodedTransaction, UiInstruction, UiMessage,
[INFO] [stderr]    |                                                                    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Signature`
[INFO] [stderr]  --> src/wallet.rs:3:17
[INFO] [stderr]   |
[INFO] [stderr] 3 |     signature::{Signature, Signer},
[INFO] [stderr]   |                 ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `decimals`
[INFO] [stderr]    --> src/tool.rs:378:41
[INFO] [stderr]     |
[INFO] [stderr] 378 |     pub fn validate_amount(amount: u64, decimals: u8) -> bool {
[INFO] [stderr]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decimals`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `legacy`
[INFO] [stderr]    --> src/trade.rs:706:44
[INFO] [stderr]     |
[INFO] [stderr] 706 |                 TransactionVersion::Legacy(legacy) => {}
[INFO] [stderr]     |                                            ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: you might have meant to pattern match on the similarly named variant `Legacy`
[INFO] [stderr]     |
[INFO] [stderr] 706 -                 TransactionVersion::Legacy(legacy) => {}
[INFO] [stderr] 706 +                 TransactionVersion::Legacy(solana_sdk::transaction::Legacy::Legacy) => {}
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 706 |                 TransactionVersion::Legacy(_legacy) => {}
[INFO] [stderr]     |                                            +
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `partial_inst`
[INFO] [stderr]    --> src/trade.rs:738:29
[INFO] [stderr]     |
[INFO] [stderr] 738 | ...                   partial_inst,
[INFO] [stderr]     |                       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partial_inst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tx`
[INFO] [stderr]    --> src/trade.rs:758:9
[INFO] [stderr]     |
[INFO] [stderr] 758 |         tx: &EncodedConfirmedTransactionWithStatusMeta,
[INFO] [stderr]     |         ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/trade.rs:870:12
[INFO] [stderr]     |
[INFO] [stderr] 870 |         if let (pre_balances, post_balances) = (&meta.pre_balances, &meta.post_balances) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]     = help: consider replacing the `if let` with a `let`
[INFO] [stderr]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/trade.rs:898:40
[INFO] [stderr]     |
[INFO] [stderr] 898 | ...                   if let account_keys = &parsed_msg.account_keys {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]     = help: consider replacing the `if let` with a `let`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/trade.rs:934:32
[INFO] [stderr]     |
[INFO] [stderr] 934 | ...                   if let account_keys = &parsed_msg.account_keys {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]     = help: consider replacing the `if let` with a `let`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/trade.rs:936:40
[INFO] [stderr]     |
[INFO] [stderr] 936 | ...                   if let pubkey = &fee_payer.pubkey {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]     = help: consider replacing the `if let` with a `let`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/trade.rs:985:12
[INFO] [stderr]     |
[INFO] [stderr] 985 |           if let (pre_token_balances, post_token_balances) =
[INFO] [stderr]     |  ____________^
[INFO] [stderr] 986 | |             (&meta.pre_token_balances, &meta.post_token_balances)
[INFO] [stderr]     | |_________________________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]     = help: consider replacing the `if let` with a `let`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]     --> src/trade.rs:1084:12
[INFO] [stderr]      |
[INFO] [stderr] 1084 |         if let logs = &meta.log_messages {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]      = help: consider replacing the `if let` with a `let`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]     --> src/trade.rs:1126:12
[INFO] [stderr]      |
[INFO] [stderr] 1126 |         if let logs = &meta.log_messages.clone().unwrap_or(vec![]) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]      = help: consider replacing the `if let` with a `let`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]     --> src/trade.rs:1148:12
[INFO] [stderr]      |
[INFO] [stderr] 1148 |         if let instructions = &parsed_msg.instructions {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]      = help: consider replacing the `if let` with a `let`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]     --> src/trade.rs:1246:24
[INFO] [stderr]      |
[INFO] [stderr] 1246 |                     if let account_keys = &parsed_msg.account_keys {
[INFO] [stderr]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]      = help: consider replacing the `if let` with a `let`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]     --> src/trade.rs:1251:32
[INFO] [stderr]      |
[INFO] [stderr] 1251 | ...                   if let (from_pubkey, to_pubkey) = (&from_acc.pubkey, &to_acc.pubkey) {
[INFO] [stderr]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]      = help: consider replacing the `if let` with a `let`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/lib.rs:41:13
[INFO] [stderr]    |
[INFO] [stderr] 41 |             _ => {
[INFO] [stderr]    |             ^ no value can reach this
[INFO] [stderr]    |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]   --> src/lib.rs:41:13
[INFO] [stderr]    |
[INFO] [stderr] 32 |             Mode::MAIN => {
[INFO] [stderr]    |             ---------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 35 |             Mode::TEST => {
[INFO] [stderr]    |             ---------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 38 |             Mode::DEV => {
[INFO] [stderr]    |             --------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 41 |             _ => {
[INFO] [stderr]    |             ^ collectively making this unreachable
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/lib.rs:166:23
[INFO] [stderr]     |
[INFO] [stderr] 166 |             .map_err(|e| UnifiedError::Error(0.0))?;
[INFO] [stderr]     |                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/lib.rs:161:61
[INFO] [stderr]     |
[INFO] [stderr] 161 |         let pubkey = Pubkey::from_str(&public_key).map_err(|e| UnifiedError::Error(0.0))?;
[INFO] [stderr]     |                                                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: field `mode` is never read
[INFO] [stderr]   --> src/lib.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct Solana {
[INFO] [stderr]    |            ------ field in this struct
[INFO] [stderr] 23 |     mode: Mode,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `client` is never read
[INFO] [stderr]   --> src/account.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub struct Account {
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] 10 |     client: Arc<RpcClient>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `client` is never read
[INFO] [stderr]  --> src/scan.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct Scan {
[INFO] [stderr]   |            ---- field in this struct
[INFO] [stderr] 6 |     client: Arc<RpcClient>,
[INFO] [stderr]   |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `solana-network-sdk` (lib) generated 26 warnings (run `cargo fix --lib -p solana-network-sdk` to apply 12 suggestions)
[INFO] [stderr] warning: `solana-network-sdk` (lib test) generated 26 warnings (26 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.62s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/solana_network_sdk-a0d965171897b7b2)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests solana_network_sdk
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test src/lib.rs - Solana::block_height (line 94) ... FAILED
[INFO] [stdout] test src/lib.rs - Solana::feature_set (line 78) ... FAILED
[INFO] [stdout] test src/lib.rs - Solana::epoch (line 142) ... FAILED
[INFO] [stdout] test src/tool.rs - tool::address::bytes_to_address (line 104) ... FAILED
[INFO] [stdout] test src/lib.rs - Solana::last_block_hash (line 110) ... FAILED
[INFO] [stdout] test src/tool.rs - tool::address::generate_random_address (line 87) ... FAILED
[INFO] [stdout] test src/lib.rs - Solana::slot (line 126) ... FAILED
[INFO] [stdout] test src/lib.rs - Solana::client_arc (line 53) ... FAILED
[INFO] [stdout] test src/lib.rs - Solana::core_version (line 62) ... FAILED
[INFO] [stdout] test src/message.rs - message::Message::sign_message (line 11) ... FAILED
[INFO] [stdout] test src/tool.rs - tool::address::validate_address_to_pubkey (line 46) ... FAILED
[INFO] [stdout] test src/message.rs - message::Message::verify_message (line 23) ... FAILED
[INFO] [stdout] test src/tool.rs - tool::address::is_valid_address (line 24) ... FAILED
[INFO] [stdout] test src/trade.rs - trade::Trade::get_transaction_details (line 271) ... FAILED
[INFO] [stdout] test src/tool.rs - tool::address::get_short_address (line 132) ... FAILED
[INFO] [stdout] test src/tool.rs - tool::address::is_same_address (line 66) ... FAILED
[INFO] [stdout] test src/trade.rs - trade::Trade::get_last_transactions_contains_address (line 190) ... FAILED
[INFO] [stdout] test src/trade.rs - trade::Trade::get_transactions_history_filtered (line 129) ... FAILED
[INFO] [stdout] test src/trade.rs - trade::Trade::get_transactions_history_by_cursor (line 49) ... FAILED
[INFO] [stdout] test src/trade.rs - trade::Trade::get_transactions_vec_containing_address (line 234) ... FAILED
[INFO] [stdout] test src/trade.rs - trade::Trade::get_transactions_by_recipient_and_payer (line 312) ... FAILED
[INFO] [stdout] test src/wallet.rs - wallet::Wallet::create_new_wallet (line 22) ... FAILED
[INFO] [stdout] test src/wallet.rs - wallet::Wallet::from_private_key_64 (line 43) ... FAILED
[INFO] [stdout] test src/wallet.rs - wallet::Wallet::from_private_key_32 (line 60) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - Solana::block_height (line 94) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Solana`
[INFO] [stdout]   --> src/lib.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 | let s = Solana::new(Mode::TEST);
[INFO] [stdout]    |         ^^^^^^ use of undeclared type `Solana`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 94 + use solana_network_sdk::Solana;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Mode`
[INFO] [stdout]   --> src/lib.rs:95:21
[INFO] [stdout]    |
[INFO] [stdout] 95 | let s = Solana::new(Mode::TEST);
[INFO] [stdout]    |                     ^^^^ use of undeclared type `Mode`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 94 + use solana_network_sdk::types::Mode;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:96:31
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_94_0() {
[INFO] [stdout]    |                                      ---------------------------------- this is not `async`
[INFO] [stdout] 95 | let s = Solana::new(Mode::TEST);
[INFO] [stdout] 96 | let client = s.block_height().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/lib.rs - Solana::feature_set (line 78) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Solana`
[INFO] [stdout]   --> src/lib.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 | let s = Solana::new(Mode::TEST);
[INFO] [stdout]    |         ^^^^^^ use of undeclared type `Solana`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 78 + use solana_network_sdk::Solana;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Mode`
[INFO] [stdout]   --> src/lib.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 | let s = Solana::new(Mode::TEST);
[INFO] [stdout]    |                     ^^^^ use of undeclared type `Mode`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 78 + use solana_network_sdk::types::Mode;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:80:30
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_78_0() {
[INFO] [stdout]    |                                      ---------------------------------- this is not `async`
[INFO] [stdout] 79 | let s = Solana::new(Mode::TEST);
[INFO] [stdout] 80 | let client = s.feature_set().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/lib.rs - Solana::epoch (line 142) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Solana`
[INFO] [stdout]    --> src/lib.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 | let s = Solana::new(Mode::TEST);
[INFO] [stdout]     |         ^^^^^^ use of undeclared type `Solana`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 142 + use solana_network_sdk::Solana;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Mode`
[INFO] [stdout]    --> src/lib.rs:143:21
[INFO] [stdout]     |
[INFO] [stdout] 143 | let s = Solana::new(Mode::TEST);
[INFO] [stdout]     |                     ^^^^ use of undeclared type `Mode`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 142 + use solana_network_sdk::types::Mode;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/lib.rs:144:24
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_142_0() {
[INFO] [stdout]     |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 143 | let s = Solana::new(Mode::TEST);
[INFO] [stdout] 144 | let client = s.epoch().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/tool.rs - tool::address::bytes_to_address (line 104) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `bytes_to_address` in module `wallet`
[INFO] [stdout]    --> src/tool.rs:109:15
[INFO] [stdout]     |
[INFO] [stdout] 109 | match wallet::bytes_to_address(&bytes) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^ not found in `wallet`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 103 + use solana_network_sdk::tool::address::bytes_to_address;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `bytes_to_address`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 109 - match wallet::bytes_to_address(&bytes) {
[INFO] [stdout] 109 + match bytes_to_address(&bytes) {
[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 E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Solana::last_block_hash (line 110) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Solana`
[INFO] [stdout]    --> src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 | let s = Solana::new(Mode::TEST);
[INFO] [stdout]     |         ^^^^^^ use of undeclared type `Solana`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 110 + use solana_network_sdk::Solana;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Mode`
[INFO] [stdout]    --> src/lib.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 | let s = Solana::new(Mode::TEST);
[INFO] [stdout]     |                     ^^^^ use of undeclared type `Mode`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 110 + use solana_network_sdk::types::Mode;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/lib.rs:112:34
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_110_0() {
[INFO] [stdout]     |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 111 | let s = Solana::new(Mode::TEST);
[INFO] [stdout] 112 | let client = s.last_block_hash().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/tool.rs - tool::address::generate_random_address (line 87) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `generate_random_address` in module `wallet`
[INFO] [stdout]   --> src/tool.rs:91:30
[INFO] [stdout]    |
[INFO] [stdout] 91 | let random_address = wallet::generate_random_address();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^ not found in `wallet`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 86 + use solana_network_sdk::tool::address::generate_random_address;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `generate_random_address`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 91 - let random_address = wallet::generate_random_address();
[INFO] [stdout] 91 + let random_address = generate_random_address();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `is_valid_address` in module `wallet`
[INFO] [stdout]   --> src/tool.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 | assert!(wallet::is_valid_address(&random_address));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^ not found in `wallet`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 86 + use solana_network_sdk::tool::address::is_valid_address;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `is_valid_address`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 92 - assert!(wallet::is_valid_address(&random_address));
[INFO] [stdout] 92 + assert!(is_valid_address(&random_address));
[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 E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Solana::slot (line 126) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Solana`
[INFO] [stdout]    --> src/lib.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 | let s = Solana::new(Mode::TEST);
[INFO] [stdout]     |         ^^^^^^ use of undeclared type `Solana`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 126 + use solana_network_sdk::Solana;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Mode`
[INFO] [stdout]    --> src/lib.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 | let s = Solana::new(Mode::TEST);
[INFO] [stdout]     |                     ^^^^ use of undeclared type `Mode`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 126 + use solana_network_sdk::types::Mode;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/lib.rs:128:23
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_126_0() {
[INFO] [stdout]     |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 127 | let s = Solana::new(Mode::TEST);
[INFO] [stdout] 128 | let client = s.slot().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/lib.rs - Solana::client_arc (line 53) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Solana`
[INFO] [stdout]   --> src/lib.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | let s = Solana::new(Mode::TEST);
[INFO] [stdout]    |         ^^^^^^ use of undeclared type `Solana`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 53 + use solana_network_sdk::Solana;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Mode`
[INFO] [stdout]   --> src/lib.rs:54:21
[INFO] [stdout]    |
[INFO] [stdout] 54 | let s = Solana::new(Mode::TEST);
[INFO] [stdout]    |                     ^^^^ use of undeclared type `Mode`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 53 + use solana_network_sdk::types::Mode;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:55:29
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_53_0() {
[INFO] [stdout]    |                                      ---------------------------------- this is not `async`
[INFO] [stdout] 54 | let s = Solana::new(Mode::TEST);
[INFO] [stdout] 55 | let client = s.client_arc().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/lib.rs - Solana::core_version (line 62) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Solana`
[INFO] [stdout]   --> src/lib.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 | let s = Solana::new(Mode::TEST);
[INFO] [stdout]    |         ^^^^^^ use of undeclared type `Solana`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 62 + use solana_network_sdk::Solana;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Mode`
[INFO] [stdout]   --> src/lib.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 | let s = Solana::new(Mode::TEST);
[INFO] [stdout]    |                     ^^^^ use of undeclared type `Mode`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 62 + use solana_network_sdk::types::Mode;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/lib.rs:64:31
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_62_0() {
[INFO] [stdout]    |                                      ---------------------------------- this is not `async`
[INFO] [stdout] 63 | let s = Solana::new(Mode::TEST);
[INFO] [stdout] 64 | let client = s.core_version().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/message.rs - message::Message::sign_message (line 11) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Wallet`
[INFO] [stdout]   --> src/message.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | let w = Wallet::from_private_key_64("private key");
[INFO] [stdout]    |         ^^^^^^ use of undeclared type `Wallet`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 11 + use solana_network_sdk::wallet::Wallet;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Message`
[INFO] [stdout]   --> src/message.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | let s = Message::sign_message(w, "message".as_bytes());
[INFO] [stdout]    |         ^^^^^^^ use of undeclared type `Message`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 11 + use solana_network_sdk::message::Message;
[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/tool.rs - tool::address::validate_address_to_pubkey (line 46) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `validate_address_to_pubkey` in module `wallet`
[INFO] [stdout]   --> src/tool.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 | match wallet::validate_address_to_pubkey("address") {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `wallet`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 45 + use solana_network_sdk::tool::address::validate_address_to_pubkey;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `validate_address_to_pubkey`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 50 - match wallet::validate_address_to_pubkey("address") {
[INFO] [stdout] 50 + match validate_address_to_pubkey("address") {
[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 E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/message.rs - message::Message::verify_message (line 23) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Wallet`
[INFO] [stdout]   --> src/message.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | let w = Wallet::from_private_key_64("private key");
[INFO] [stdout]    |         ^^^^^^ use of undeclared type `Wallet`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 23 + use solana_network_sdk::wallet::Wallet;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Message`
[INFO] [stdout]   --> src/message.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | let s = Message::sign_message(w, "message".as_bytes());
[INFO] [stdout]    |         ^^^^^^^ use of undeclared type `Message`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 23 + use solana_network_sdk::message::Message;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Message`
[INFO] [stdout]   --> src/message.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | let bool = Message::verify_message(s, w, "message".as_bytes());
[INFO] [stdout]    |            ^^^^^^^ use of undeclared type `Message`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 23 + use solana_network_sdk::message::Message;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 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/tool.rs - tool::address::is_valid_address (line 24) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `is_valid_address` in module `wallet`
[INFO] [stdout]   --> src/tool.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | assert!(wallet::is_valid_address(valid_address));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^ not found in `wallet`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 23 + use solana_network_sdk::tool::address::is_valid_address;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `is_valid_address`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 31 - assert!(wallet::is_valid_address(valid_address));
[INFO] [stdout] 31 + assert!(is_valid_address(valid_address));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `is_valid_address` in module `wallet`
[INFO] [stdout]   --> src/tool.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 32 | assert!(!wallet::is_valid_address(invalid_address));
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^ not found in `wallet`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 23 + use solana_network_sdk::tool::address::is_valid_address;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `is_valid_address`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 32 - assert!(!wallet::is_valid_address(invalid_address));
[INFO] [stdout] 32 + assert!(!is_valid_address(invalid_address));
[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 E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/trade.rs - trade::Trade::get_transaction_details (line 271) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Solana`
[INFO] [stdout]    --> src/trade.rs:272:14
[INFO] [stdout]     |
[INFO] [stdout] 272 | let solana = Solana::new(solana_trader::types::Mode::DEV).unwrap();
[INFO] [stdout]     |              ^^^^^^ use of undeclared type `Solana`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 271 + use solana_network_sdk::Solana;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `solana_trader`
[INFO] [stdout]    --> src/trade.rs:272:26
[INFO] [stdout]     |
[INFO] [stdout] 272 | let solana = Solana::new(solana_trader::types::Mode::DEV).unwrap();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `solana_trader`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `solana_trader`, use `cargo add solana_trader` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 271 + use solana_network_sdk::types::Mode;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Mode`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 272 - let solana = Solana::new(solana_trader::types::Mode::DEV).unwrap();
[INFO] [stdout] 272 + let solana = Solana::new(Mode::DEV).unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/trade.rs:274:79
[INFO] [stdout]     |
[INFO] [stdout] 271 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_271_0() {
[INFO] [stdout]     |                                      ------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 274 | let transaction_info = trade.get_transaction_details("transaction signature").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/tool.rs - tool::address::get_short_address (line 132) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `get_short_address` in module `wallet`
[INFO] [stdout]    --> src/tool.rs:137:21
[INFO] [stdout]     |
[INFO] [stdout] 137 | let short = wallet::get_short_address(address);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ not found in `wallet`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 131 + use solana_network_sdk::tool::address::get_short_address;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `get_short_address`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 137 - let short = wallet::get_short_address(address);
[INFO] [stdout] 137 + let short = get_short_address(address);
[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 E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/tool.rs - tool::address::is_same_address (line 66) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `is_same_address` in module `wallet`
[INFO] [stdout]   --> src/tool.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 | assert!(wallet::is_same_address(addr1, addr2));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ not found in `wallet`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 65 + use solana_network_sdk::tool::address::is_same_address;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `is_same_address`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 73 - assert!(wallet::is_same_address(addr1, addr2));
[INFO] [stdout] 73 + assert!(is_same_address(addr1, addr2));
[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 E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/trade.rs - trade::Trade::get_last_transactions_contains_address (line 190) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Solana`
[INFO] [stdout]    --> src/trade.rs:191:14
[INFO] [stdout]     |
[INFO] [stdout] 191 | let solana = Solana::new(Mode::DEV).unwrap();
[INFO] [stdout]     |              ^^^^^^ use of undeclared type `Solana`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 190 + use solana_network_sdk::Solana;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Mode`
[INFO] [stdout]    --> src/trade.rs:191:26
[INFO] [stdout]     |
[INFO] [stdout] 191 | let solana = Solana::new(Mode::DEV).unwrap();
[INFO] [stdout]     |                          ^^^^ use of undeclared type `Mode`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 190 + use solana_network_sdk::types::Mode;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/trade.rs:196:3
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_190_0() {
[INFO] [stdout]     |                                      ------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 196 | ).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/trade.rs - trade::Trade::get_transactions_history_filtered (line 129) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Solana`
[INFO] [stdout]    --> src/trade.rs:130:14
[INFO] [stdout]     |
[INFO] [stdout] 130 | let solana = Solana::new(Mode::DEV).unwrap();
[INFO] [stdout]     |              ^^^^^^ use of undeclared type `Solana`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 129 + use solana_network_sdk::Solana;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Mode`
[INFO] [stdout]    --> src/trade.rs:130:26
[INFO] [stdout]     |
[INFO] [stdout] 130 | let solana = Solana::new(Mode::DEV).unwrap();
[INFO] [stdout]     |                          ^^^^ use of undeclared type `Mode`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 129 + use solana_network_sdk::types::Mode;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/trade.rs:139:3
[INFO] [stdout]     |
[INFO] [stdout] 129 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_129_0() {
[INFO] [stdout]     |                                      ------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 139 | ).await;
[INFO] [stdout]     |   ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TradeHistory`
[INFO] [stdout]    --> src/trade.rs:132:15
[INFO] [stdout]     |
[INFO] [stdout] 132 | let history = TradeHistory::get_filtered_transactions(
[INFO] [stdout]     |               ^^^^^^^^^^^^ use of undeclared type `TradeHistory`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 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/trade.rs - trade::Trade::get_transactions_history_by_cursor (line 49) stdout ----
[INFO] [stdout] error: expected one of `!`, `)`, `,`, `.`, `::`, `?`, `{`, or an operator, found `size`
[INFO] [stdout]   --> src/trade.rs:56:18
[INFO] [stdout]    |
[INFO] [stdout] 56 |             page size,
[INFO] [stdout]    |                 -^^^^ expected one of 8 possible tokens
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: missing `,`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `trade` in this scope
[INFO] [stdout]   --> src/trade.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 |     match trade
[INFO] [stdout]    |           ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `page` in this scope
[INFO] [stdout]   --> src/trade.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             page size,
[INFO] [stdout]    |             ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `size` in this scope
[INFO] [stdout]   --> src/trade.rs:56:18
[INFO] [stdout]    |
[INFO] [stdout] 56 |             page size,
[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/trade.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_49_0() {
[INFO] [stdout]    |                                      ------------------------------------ this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 58 |         .await
[INFO] [stdout]    |          ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 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/trade.rs - trade::Trade::get_transactions_vec_containing_address (line 234) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Solana`
[INFO] [stdout]    --> src/trade.rs:235:14
[INFO] [stdout]     |
[INFO] [stdout] 235 | let solana = Solana::new(Mode::DEV).unwrap();
[INFO] [stdout]     |              ^^^^^^ use of undeclared type `Solana`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 234 + use solana_network_sdk::Solana;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Mode`
[INFO] [stdout]    --> src/trade.rs:235:26
[INFO] [stdout]     |
[INFO] [stdout] 235 | let solana = Solana::new(Mode::DEV).unwrap();
[INFO] [stdout]     |                          ^^^^ use of undeclared type `Mode`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 234 + use solana_network_sdk::types::Mode;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/trade.rs:240:3
[INFO] [stdout]     |
[INFO] [stdout] 234 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_234_0() {
[INFO] [stdout]     |                                      ------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 240 | ).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/trade.rs - trade::Trade::get_transactions_by_recipient_and_payer (line 312) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `trade` in this scope
[INFO] [stdout]    --> src/trade.rs:313:20
[INFO] [stdout]     |
[INFO] [stdout] 313 | let transactions = trade.get_transactions_by_recipient_and_payer(
[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/trade.rs:317:3
[INFO] [stdout]     |
[INFO] [stdout] 312 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_trade_rs_312_0() {
[INFO] [stdout]     |                                      ------------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 317 | ).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/wallet.rs - wallet::Wallet::create_new_wallet (line 22) stdout ----
[INFO] [stdout] error[E0412]: cannot find type `Wallet` in this scope
[INFO] [stdout]   --> src/wallet.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | let w: Wallet = Wallet::create_new_wallet();
[INFO] [stdout]    |        ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 22 + use solana_network_sdk::wallet::Wallet;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Wallet`
[INFO] [stdout]   --> src/wallet.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | let w: Wallet = Wallet::create_new_wallet();
[INFO] [stdout]    |                 ^^^^^^ use of undeclared type `Wallet`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 22 + use solana_network_sdk::wallet::Wallet;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/wallet.rs - wallet::Wallet::from_private_key_64 (line 43) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Wallet`
[INFO] [stdout]   --> src/wallet.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | let w = Wallet::from_private_key_64("64 bytes private");
[INFO] [stdout]    |         ^^^^^^ use of undeclared type `Wallet`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 43 + use solana_network_sdk::wallet::Wallet;
[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/wallet.rs - wallet::Wallet::from_private_key_32 (line 60) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Wallet`
[INFO] [stdout]   --> src/wallet.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | let w = Wallet::from_private_key_64("32 bytes private");
[INFO] [stdout]    |         ^^^^^^ use of undeclared type `Wallet`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 60 + use solana_network_sdk::wallet::Wallet;
[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] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - Solana::block_height (line 94)
[INFO] [stdout]     src/lib.rs - Solana::client_arc (line 53)
[INFO] [stdout]     src/lib.rs - Solana::core_version (line 62)
[INFO] [stdout]     src/lib.rs - Solana::epoch (line 142)
[INFO] [stdout]     src/lib.rs - Solana::feature_set (line 78)
[INFO] [stdout]     src/lib.rs - Solana::last_block_hash (line 110)
[INFO] [stdout]     src/lib.rs - Solana::slot (line 126)
[INFO] [stdout]     src/message.rs - message::Message::sign_message (line 11)
[INFO] [stdout]     src/message.rs - message::Message::verify_message (line 23)
[INFO] [stdout]     src/tool.rs - tool::address::bytes_to_address (line 104)
[INFO] [stdout]     src/tool.rs - tool::address::generate_random_address (line 87)
[INFO] [stdout]     src/tool.rs - tool::address::get_short_address (line 132)
[INFO] [stdout]     src/tool.rs - tool::address::is_same_address (line 66)
[INFO] [stdout]     src/tool.rs - tool::address::is_valid_address (line 24)
[INFO] [stdout]     src/tool.rs - tool::address::validate_address_to_pubkey (line 46)
[INFO] [stdout]     src/trade.rs - trade::Trade::get_last_transactions_contains_address (line 190)
[INFO] [stdout]     src/trade.rs - trade::Trade::get_transaction_details (line 271)
[INFO] [stdout]     src/trade.rs - trade::Trade::get_transactions_by_recipient_and_payer (line 312)
[INFO] [stdout]     src/trade.rs - trade::Trade::get_transactions_history_by_cursor (line 49)
[INFO] [stdout]     src/trade.rs - trade::Trade::get_transactions_history_filtered (line 129)
[INFO] [stdout]     src/trade.rs - trade::Trade::get_transactions_vec_containing_address (line 234)
[INFO] [stdout]     src/wallet.rs - wallet::Wallet::create_new_wallet (line 22)
[INFO] [stdout]     src/wallet.rs - wallet::Wallet::from_private_key_32 (line 60)
[INFO] [stdout]     src/wallet.rs - wallet::Wallet::from_private_key_64 (line 43)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 24 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.25s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 3.53s; merged doctests compilation took 0.27s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "7efa7b708969a58403f654fd6f38dbcc59ebd2a3642909017f8f177e36efa39f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7efa7b708969a58403f654fd6f38dbcc59ebd2a3642909017f8f177e36efa39f", kill_on_drop: false }`
[INFO] [stdout] 7efa7b708969a58403f654fd6f38dbcc59ebd2a3642909017f8f177e36efa39f
