[INFO] cloning repository https://github.com/diobenu08koga/sol_idl_extractor
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/diobenu08koga/sol_idl_extractor" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdiobenu08koga%2Fsol_idl_extractor", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdiobenu08koga%2Fsol_idl_extractor'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d8154ae3bd599b89230c9131b99a972bbccef447
[INFO] checking diobenu08koga/sol_idl_extractor against try#50f413885985a8b0a0b6ca0766a0aedd45304953 for pr-155657-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdiobenu08koga%2Fsol_idl_extractor" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/diobenu08koga/sol_idl_extractor
[INFO] finished tweaking git repo https://github.com/diobenu08koga/sol_idl_extractor
[INFO] tweaked toml for git repo https://github.com/diobenu08koga/sol_idl_extractor written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/diobenu08koga/sol_idl_extractor on toolchain 50f413885985a8b0a0b6ca0766a0aedd45304953
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/diobenu08koga/sol_idl_extractor 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" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 94ad085736ce59ba5bc57cdebcf7242de23c0a9722f23b74c5b85baaf6ca3cc8
[INFO] running `Command { std: "docker" "start" "-a" "94ad085736ce59ba5bc57cdebcf7242de23c0a9722f23b74c5b85baaf6ca3cc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "94ad085736ce59ba5bc57cdebcf7242de23c0a9722f23b74c5b85baaf6ca3cc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "94ad085736ce59ba5bc57cdebcf7242de23c0a9722f23b74c5b85baaf6ca3cc8", kill_on_drop: false }`
[INFO] [stdout] 94ad085736ce59ba5bc57cdebcf7242de23c0a9722f23b74c5b85baaf6ca3cc8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1effe98a2e31b25247b0593f225991a16418bb613a41205ba65a8470de3ad79e
[INFO] running `Command { std: "docker" "start" "-a" "1effe98a2e31b25247b0593f225991a16418bb613a41205ba65a8470de3ad79e", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling winnow v0.7.6
[INFO] [stderr]     Checking bs58 v0.5.1
[INFO] [stderr]    Compiling bytemuck_derive v1.9.3
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling cc v1.2.19
[INFO] [stderr]     Checking lock_api v0.4.12
[INFO] [stderr]     Checking miniz_oxide v0.8.8
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking data-encoding v2.9.0
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]     Checking tokio v1.44.2
[INFO] [stderr]    Compiling qualifier_attr v0.2.2
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking flate2 v1.1.1
[INFO] [stderr]     Checking dlopen2 v0.5.0
[INFO] [stderr]    Compiling openssl-src v300.5.0+3.5.0
[INFO] [stderr]     Checking borsh v0.10.4
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking bytemuck v1.22.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]    Compiling rustix v1.0.5
[INFO] [stderr]     Checking spinning_top v0.3.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling rustversion v1.0.20
[INFO] [stderr]    Compiling modular-bitfield-impl v0.11.2
[INFO] [stderr]     Checking indicatif v0.17.11
[INFO] [stderr]    Compiling blake3 v1.8.1
[INFO] [stderr]    Compiling openssl-sys v0.9.107
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling toml_edit v0.22.24
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling zstd-sys v2.0.15+zstd.1.5.7
[INFO] [stderr]    Compiling bzip2-sys v0.1.13+1.0.8
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling lz4-sys v1.11.1+lz4-1.10.0
[INFO] [stderr]     Checking quinn-udp v0.5.11
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking asn1-rs v0.5.2
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking opentelemetry v0.17.0
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]    Compiling include_dir_macros v0.7.4
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]     Checking bitmaps v2.1.0
[INFO] [stderr]     Checking filetime v0.2.25
[INFO] [stderr]     Checking der-parser v8.2.0
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking oid-registry v0.6.1
[INFO] [stderr]    Compiling ark-ff-macros v0.4.2
[INFO] [stderr]    Compiling enum-ordinalize v3.1.15
[INFO] [stderr]     Checking modular-bitfield v0.11.2
[INFO] [stderr]     Checking normalize-line-endings v0.3.0
[INFO] [stderr]     Checking sized-chunks v0.6.5
[INFO] [stderr]     Checking predicates v2.1.5
[INFO] [stderr]     Checking curve25519-dalek v4.1.3
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]     Checking ed25519-dalek v1.0.1
[INFO] [stderr]     Checking serde-big-array v0.5.1
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking solana-short-vec v2.2.1
[INFO] [stderr]     Checking bv v0.11.1
[INFO] [stderr]     Checking solana-fee-calculator v2.2.1
[INFO] [stderr]     Checking serde_bytes v0.11.17
[INFO] [stderr]     Checking solana-signature v2.2.1
[INFO] [stderr]     Checking libsecp256k1 v0.6.0
[INFO] [stderr]     Checking solana-serde-varint v2.2.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking ed25519-dalek-bip32 v0.2.0
[INFO] [stderr]     Checking solana-inflation v2.2.1
[INFO] [stderr]    Compiling serde_with_macros v3.12.0
[INFO] [stderr]     Checking chrono v0.4.40
[INFO] [stderr]     Checking solana-reward-info v2.2.1
[INFO] [stderr]     Checking solana-commitment-config v2.2.1
[INFO] [stderr]     Checking solana-serde v2.2.1
[INFO] [stderr]     Checking solana-hard-forks v2.2.1
[INFO] [stderr]    Compiling borsh-derive v1.5.7
[INFO] [stderr]    Compiling num_enum_derive v0.7.3
[INFO] [stderr]     Checking solana-poh-config v2.2.1
[INFO] [stderr]     Checking solana-epoch-info v2.2.1
[INFO] [stderr]     Checking nix v0.29.0
[INFO] [stderr]     Checking jsonrpc-core v18.0.0
[INFO] [stderr]     Checking solana-curve25519 v2.2.7
[INFO] [stderr]     Checking raw-cpuid v11.5.0
[INFO] [stderr]     Checking x509-parser v0.14.0
[INFO] [stderr]     Checking ark-ff v0.4.2
[INFO] [stderr]    Compiling educe v0.4.23
[INFO] [stderr]     Checking tracing-opentelemetry v0.17.4
[INFO] [stderr]     Checking tokio-util v0.7.14
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking async-compression v0.4.22
[INFO] [stderr]     Checking serde_with v3.12.0
[INFO] [stderr]    Compiling rustls v0.23.26
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking tokio-util v0.6.10
[INFO] [stderr]     Checking num_enum v0.7.3
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking solana-net-utils v2.2.7
[INFO] [stderr]     Checking tokio-serde v0.8.0
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]     Checking solana-packet v2.2.1
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling include_dir v0.7.4
[INFO] [stderr]     Checking quanta v0.12.5
[INFO] [stderr]     Checking bzip2 v0.4.4
[INFO] [stderr]     Checking solana-lattice-hash v2.2.7
[INFO] [stderr]     Checking borsh v1.5.7
[INFO] [stderr]     Checking seqlock v0.2.0
[INFO] [stderr]     Checking governor v0.6.3
[INFO] [stderr]    Compiling mockall_derive v0.11.4
[INFO] [stderr]     Checking rand_xoshiro v0.6.0
[INFO] [stderr]    Compiling tarpc-plugins v0.12.0
[INFO] [stderr]     Checking solana-nohash-hasher v0.2.1
[INFO] [stderr]     Checking downcast v0.11.0
[INFO] [stderr]     Checking fragile v2.0.1
[INFO] [stderr]     Checking index_list v0.2.15
[INFO] [stderr]     Checking im v15.1.0
[INFO] [stderr]     Checking dir-diff v0.3.3
[INFO] [stderr]    Compiling scroll_derive v0.11.1
[INFO] [stderr]     Checking symlink v0.1.0
[INFO] [stderr]     Checking hash32 v0.3.1
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking tarpc v0.29.0
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]     Checking xattr v1.5.0
[INFO] [stderr]     Checking tempfile v3.19.1
[INFO] [stderr]     Checking tar v0.4.44
[INFO] [stderr]    Compiling aquamarine v0.6.0
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking solana-hash v2.2.1
[INFO] [stderr]     Checking solana-secp256k1-recover v2.2.1
[INFO] [stderr]     Checking solana-borsh v2.2.1
[INFO] [stderr]     Checking rustls-webpki v0.103.1
[INFO] [stderr]     Checking solana-sha256-hasher v2.2.1
[INFO] [stderr]     Checking solana-cluster-type v2.2.1
[INFO] [stderr]     Checking solana-keccak-hasher v2.2.1
[INFO] [stderr]     Checking solana-blake3-hasher v2.2.1
[INFO] [stderr]     Checking solana-pubkey v2.2.1
[INFO] [stderr]     Checking solana-shred-version v2.2.1
[INFO] [stderr]     Checking strum v0.24.1
[INFO] [stderr]     Checking scroll v0.11.0
[INFO] [stderr]     Checking dirs v4.0.0
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking solana-sbpf v0.11.0
[INFO] [stderr]     Checking solana-instruction v2.2.1
[INFO] [stderr]     Checking solana-sdk-ids v2.2.1
[INFO] [stderr]     Checking solana-feature-set-interface v4.0.0
[INFO] [stderr]     Checking solana-nonce v2.2.1
[INFO] [stderr]     Checking solana-transaction-error v2.2.1
[INFO] [stderr]     Checking solana-system-interface v1.0.0
[INFO] [stderr]     Checking solana-program-error v2.2.1
[INFO] [stderr]     Checking solana-bincode v2.2.1
[INFO] [stderr]     Checking solana-signer v2.2.1
[INFO] [stderr]     Checking solana-sysvar-id v2.2.1
[INFO] [stderr]     Checking solana-serialize-utils v2.2.1
[INFO] [stderr]     Checking solana-stable-layout v2.2.1
[INFO] [stderr]     Checking solana-epoch-schedule v2.2.1
[INFO] [stderr]     Checking solana-clock v2.2.1
[INFO] [stderr]     Checking solana-account-info v2.2.1
[INFO] [stderr]     Checking solana-slot-hashes v2.2.1
[INFO] [stderr]     Checking solana-rent v2.2.1
[INFO] [stderr]     Checking solana-epoch-rewards v2.2.1
[INFO] [stderr]     Checking solana-last-restart-slot v2.2.1
[INFO] [stderr]     Checking solana-program-entrypoint v2.2.1
[INFO] [stderr]     Checking solana-message v2.2.1
[INFO] [stderr]     Checking solana-cpi v2.2.1
[INFO] [stderr]     Checking solana-instructions-sysvar v2.2.1
[INFO] [stderr]     Checking solana-slot-history v2.2.1
[INFO] [stderr]     Checking solana-feature-set v2.2.4
[INFO] [stderr]     Checking agave-feature-set v2.2.7
[INFO] [stderr]     Checking solana-stake-interface v1.2.1
[INFO] [stderr]     Checking solana-vote-interface v2.2.3
[INFO] [stderr]     Checking solana-keypair v2.2.1
[INFO] [stderr]     Checking solana-address-lookup-table-interface v2.2.2
[INFO] [stderr]     Checking solana-loader-v4-interface v2.2.1
[INFO] [stderr]     Checking solana-loader-v3-interface v3.0.0
[INFO] [stderr]     Checking solana-timings v2.2.7
[INFO] [stderr]     Checking solana-zk-sdk v2.2.7
[INFO] [stderr]     Checking solana-program-pack v2.2.1
[INFO] [stderr]     Checking solana-loader-v2-interface v2.2.1
[INFO] [stderr]     Checking solana-quic-definitions v2.2.1
[INFO] [stderr]     Checking solana-fee-structure v2.2.1
[INFO] [stderr]     Checking solana-example-mocks v2.2.1
[INFO] [stderr]     Checking solana-inline-spl v2.2.7
[INFO] [stderr]     Checking solana-version v2.2.7
[INFO] [stderr]     Checking solana-sysvar v2.2.1
[INFO] [stderr]     Checking solana-ed25519-program v2.2.2
[INFO] [stderr]     Checking solana-secp256k1-program v2.2.1
[INFO] [stderr]     Checking solana-compute-budget v2.2.7
[INFO] [stderr]     Checking solana-compute-budget-interface v2.2.1
[INFO] [stderr]     Checking spl-discriminator v0.4.1
[INFO] [stderr]     Checking solana-reserved-account-keys v2.2.1
[INFO] [stderr]     Checking solana-offchain-message v2.2.1
[INFO] [stderr]     Checking solana-presigner v2.2.1
[INFO] [stderr]     Checking solana-epoch-rewards-hasher v2.2.1
[INFO] [stderr]     Checking solana-rent-debits v2.2.1
[INFO] [stderr]     Checking webpki-roots v0.24.0
[INFO] [stderr]     Checking solana-account v2.2.1
[INFO] [stderr]     Checking agave-reserved-account-keys v2.2.7
[INFO] [stderr]     Checking spl-memo v6.0.0
[INFO] [stderr]     Checking solana-zk-token-sdk v2.2.7
[INFO] [stderr]     Checking solana-bucket-map v2.2.7
[INFO] [stderr]     Checking spl-associated-token-account-client v2.0.0
[INFO] [stderr]     Checking goblin v0.6.1
[INFO] [stderr]     Checking chrono-humanize v0.2.3
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking solana-transaction-context v2.2.1
[INFO] [stderr]     Checking solana-feature-gate-interface v2.2.1
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking solana-program v2.2.1
[INFO] [stderr]     Checking solana-genesis-config v2.2.1
[INFO] [stderr]     Checking solana-nonce-account v2.2.1
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]     Checking spl-program-error v0.6.0
[INFO] [stderr]     Checking spl-token v7.0.0
[INFO] [stderr]     Checking mockall v0.11.4
[INFO] [stderr]     Checking solana-rent-collector v2.2.1
[INFO] [stderr]     Checking spl-pod v0.5.1
[INFO] [stderr]     Checking spl-token-confidential-transfer-ciphertext-arithmetic v0.2.1
[INFO] [stderr]     Checking spl-token-confidential-transfer-proof-generation v0.2.0
[INFO] [stderr]     Checking spl-token-confidential-transfer-proof-generation v0.3.0
[INFO] [stderr]     Checking spl-type-length-value v0.7.0
[INFO] [stderr]     Checking ark-poly v0.4.2
[INFO] [stderr]     Checking spl-token-confidential-transfer-proof-extraction v0.2.1
[INFO] [stderr]     Checking spl-token-group-interface v0.5.0
[INFO] [stderr]     Checking tokio-tungstenite v0.20.1
[INFO] [stderr]     Checking spl-elgamal-registry v0.1.1
[INFO] [stderr]     Checking spl-tlv-account-resolution v0.9.0
[INFO] [stderr]     Checking spl-token-metadata-interface v0.6.0
[INFO] [stderr]     Checking spl-transfer-hook-interface v0.9.0
[INFO] [stderr]     Checking spl-token-2022 v6.0.0
[INFO] [stderr]     Checking spl-token-2022 v7.0.0
[INFO] [stderr]     Checking ark-ec v0.4.2
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking solana-account-decoder-client-types v2.2.7
[INFO] [stderr]     Checking rustls-platform-verifier v0.5.1
[INFO] [stderr]     Checking solana-tls-utils v2.2.7
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking quinn-proto v0.11.11
[INFO] [stderr]     Checking spl-associated-token-account v6.0.0
[INFO] [stderr]     Checking ark-bn254 v0.4.0
[INFO] [stderr]     Checking solana-bn254 v2.2.2
[INFO] [stderr]     Checking light-poseidon v0.2.0
[INFO] [stderr]     Checking solana-poseidon v2.2.7
[INFO] [stderr]     Checking quinn v0.11.7
[INFO] [stderr]     Checking lz4 v1.28.1
[INFO] [stderr]    Compiling openssl v0.10.72
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking solana-secp256r1-program v2.2.2
[INFO] [stderr]     Checking solana-precompiles v2.2.1
[INFO] [stderr]     Checking agave-precompiles v2.2.7
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking solana-transaction v2.2.2
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking solana-transaction-status-client-types v2.2.7
[INFO] [stderr]     Checking solana-client-traits v2.2.1
[INFO] [stderr]     Checking solana-svm-transaction v2.2.7
[INFO] [stderr]     Checking solana-system-transaction v2.2.1
[INFO] [stderr]     Checking solana-sdk v2.2.2
[INFO] [stderr]     Checking agave-transaction-view v2.2.7
[INFO] [stderr]     Checking solana-fee v2.2.7
[INFO] [stderr]     Checking solana-vote v2.2.7
[INFO] [stderr]     Checking solana-svm-rent-collector v2.2.7
[INFO] [stderr]     Checking solana-banks-interface v2.2.7
[INFO] [stderr]     Checking solana-metrics v2.2.7
[INFO] [stderr]     Checking reqwest-middleware v0.2.5
[INFO] [stderr]     Checking solana-banks-client v2.2.7
[INFO] [stderr]     Checking solana-program-runtime v2.2.7
[INFO] [stderr]     Checking solana-perf v2.2.7
[INFO] [stderr]     Checking solana-connection-cache v2.2.7
[INFO] [stderr]     Checking solana-accounts-db v2.2.7
[INFO] [stderr]     Checking solana-rpc-client-api v2.2.7
[INFO] [stderr]     Checking solana-config-program v2.2.7
[INFO] [stderr]     Checking solana-bpf-loader-program v2.2.7
[INFO] [stderr]     Checking solana-vote-program v2.2.7
[INFO] [stderr]     Checking solana-compute-budget-program v2.2.7
[INFO] [stderr]     Checking solana-system-program v2.2.7
[INFO] [stderr]     Checking solana-address-lookup-table-program v2.2.7
[INFO] [stderr]     Checking solana-zk-token-proof-program v2.2.7
[INFO] [stderr]     Checking solana-zk-elgamal-proof-program v2.2.7
[INFO] [stderr]     Checking solana-transaction-metrics-tracker v2.2.7
[INFO] [stderr]     Checking solana-streamer v2.2.7
[INFO] [stderr]     Checking solana-stake-program v2.2.7
[INFO] [stderr]     Checking solana-account-decoder v2.2.7
[INFO] [stderr]     Checking solana-udp-client v2.2.7
[INFO] [stderr]     Checking solana-loader-v4-program v2.2.7
[INFO] [stderr]     Checking solana-builtins-default-costs v2.2.7
[INFO] [stderr]     Checking solana-builtins v2.2.7
[INFO] [stderr]     Checking solana-transaction-status v2.2.7
[INFO] [stderr]     Checking solana-rpc-client v2.2.7
[INFO] [stderr]     Checking solana-pubsub-client v2.2.7
[INFO] [stderr]     Checking solana-quic-client v2.2.7
[INFO] [stderr]     Checking solana-compute-budget-instruction v2.2.7
[INFO] [stderr]     Checking solana-runtime-transaction v2.2.7
[INFO] [stderr]     Checking solana-svm v2.2.7
[INFO] [stderr]     Checking solana-cost-model v2.2.7
[INFO] [stderr]     Checking solana-unified-scheduler-logic v2.2.7
[INFO] [stderr]     Checking solana-runtime v2.2.7
[INFO] [stderr]     Checking solana-rpc-client-nonce-utils v2.2.7
[INFO] [stderr]     Checking solana-thin-client v2.2.7
[INFO] [stderr]     Checking solana-tpu-client v2.2.7
[INFO] [stderr]     Checking solana-client v2.2.7
[INFO] [stderr]     Checking solana-idl-extractor v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Context` and `anyhow`
[INFO] [stdout]  --> src/analyzer/bytecode/parser.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]   |                      ^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]  --> src/analyzer/bytecode/parser.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{debug, info, warn};
[INFO] [stdout]   |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `is_load`, `is_store`, and `mem_size`
[INFO] [stdout]   --> src/analyzer/bytecode/parser.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     mem_size,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 30 |     is_load,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 31 |     is_store,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnchorDiscriminator` and `DiscriminatorKind`
[INFO] [stdout]  --> src/analyzer/bytecode/account_analyzer.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::discriminator_detection::{AnchorDiscriminator, DiscriminatorKind};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/analyzer/bytecode/cfg.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashSet, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `analyze_control_flow` and `call_target`
[INFO] [stdout]  --> src/analyzer/bytecode/cfg.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 |     branch_target, call_target, analyze_control_flow, find_function_boundaries
[INFO] [stdout]   |                    ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn`
[INFO] [stdout]  --> src/analyzer/bytecode/discriminator_detection.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug, info, warn};
[INFO] [stdout]   |           ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ANCHOR_ACCOUNT_NAMESPACE`, `ANCHOR_DISCRIMINATOR_LENGTH`, `ANCHOR_DISCRIMINATOR_NAMESPACE`, and `anchor`
[INFO] [stdout]   --> src/analyzer/bytecode/discriminator_detection.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     anchor, spl_token, system_program, program_ids,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 10 |     ANCHOR_DISCRIMINATOR_LENGTH, ANCHOR_DISCRIMINATOR_NAMESPACE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     ANCHOR_ACCOUNT_NAMESPACE
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `extract_discriminator_values` and `is_anchor_instruction_validation`
[INFO] [stdout]   --> src/analyzer/bytecode/discriminator_detection.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     is_anchor_instruction_validation,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     extract_discriminator_values,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/analyzer/bytecode/disassembler.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug, info, warn};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `analyze_error_handling`
[INFO] [stdout]  --> src/analyzer/bytecode/error_analyzer.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     analyze_error_handling, 
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]  --> src/analyzer/bytecode/string_analyzer.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug, info};
[INFO] [stdout]   |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/analyzer/bytecode/mod.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | use anyhow::{Result, Context, anyhow};
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/analyzer/bytecode/mod.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | use log::{debug, info, warn};
[INFO] [stdout]    |           ^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_instruction_frequency`
[INFO] [stdout]   --> src/analyzer/bytecode/mod.rs:46:107
[INFO] [stdout]    |
[INFO] [stdout] 46 | ...DynamicAnalysisResult, get_account_access_patterns, get_instruction_frequency, AccessType};
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorAnalysis`
[INFO] [stdout]   --> src/analyzer/bytecode/mod.rs:47:57
[INFO] [stdout]    |
[INFO] [stdout] 47 | use crate::utils::error_analysis::{extract_error_codes, ErrorAnalysis};
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> src/analyzer/patterns.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug, info, warn};
[INFO] [stdout]   |                  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UiTransactionEncoding`
[INFO] [stdout]  --> src/analyzer/patterns.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use solana_transaction_status::{UiTransactionEncoding, TransactionBinaryEncoding, UiMessage, UiInstruction, UiCompiledInstruction, Ui...
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::instruction::Instruction`
[INFO] [stdout]  --> src/analyzer/patterns.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::models::instruction::Instruction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `HashSet`
[INFO] [stdout]   --> src/analyzer/patterns.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::{HashMap, HashSet, BTreeMap};
[INFO] [stdout]    |                                 ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/analyzer/simulation/mod.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{debug, info, warn};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/analyzer/simulation/mod.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Serialize, Deserialize};
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/analyzer/simulation/mod.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sha256`
[INFO] [stdout]   --> src/analyzer/simulation/mod.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | use sha2::{Sha256, Digest};
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorExt`
[INFO] [stdout]   --> src/analyzer/simulation/mod.rs:26:54
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::errors::{ExtractorError, ExtractorResult, ErrorExt, ErrorContext};
[INFO] [stdout]    |                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `solana_sbpf::insn_builder::Instruction`
[INFO] [stdout]   --> src/analyzer/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use solana_sbpf::insn_builder::Instruction; // use this instead for impl on l107
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/generator/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]   --> src/generator/mod.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use log::{info, debug, error};
[INFO] [stdout]    |                 ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/cache/mod.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/cache/mod.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{debug, warn};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context`, `Result`, and `anyhow`
[INFO] [stdout]  --> src/utils/transaction_parser.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]   |              ^^^^^^  ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/utils/transaction_parser.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::{debug, info, warn};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `solana_instruction::Instruction`
[INFO] [stdout]   --> src/utils/transaction_parser.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use solana_instruction::Instruction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorExt`
[INFO] [stdout]   --> src/utils/transaction_parser.rs:21:54
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::errors::{ExtractorError, ExtractorResult, ErrorExt, ErrorContext};
[INFO] [stdout]    |                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `solana_sbpf::static_analysis::Analysis`
[INFO] [stdout]  --> src/utils/account_analysis.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use solana_sbpf::static_analysis::Analysis;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/utils/dynamic_analysis.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `solana_hash::Hash::new`: Use 'Hash::new_from_array' instead
[INFO] [stdout]    --> src/analyzer/simulation/mod.rs:193:39
[INFO] [stdout]     |
[INFO] [stdout] 193 |         tx.sign(&[&self.payer], Hash::new(&recent_blockhash));
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/analyzer/simulation/mod.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use sha2::{Sha256, Digest};
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pc`
[INFO] [stdout]    --> src/analyzer/bytecode/parser.rs:703:10
[INFO] [stdout]     |
[INFO] [stdout] 703 |     for (pc, insn) in analysis.instructions.iter().enumerate() {
[INFO] [stdout]     |          ^^ help: if this is intentional, prefix it with an underscore: `_pc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instructions`
[INFO] [stdout]    --> src/analyzer/bytecode/pattern.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     instructions: &[SbfInstruction], 
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instructions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instructions`
[INFO] [stdout]    --> src/analyzer/bytecode/pattern.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     instructions: &[SbfInstruction],
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instructions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `functions`
[INFO] [stdout]    --> src/analyzer/bytecode/pattern.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     functions: &[Function],
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_functions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analysis`
[INFO] [stdout]    --> src/analyzer/bytecode/account_analyzer.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     analysis: &Analysis,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instructions`
[INFO] [stdout]    --> src/analyzer/bytecode/account_analyzer.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     instructions: &[SbfInstruction]
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instructions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analysis`
[INFO] [stdout]    --> src/analyzer/bytecode/cfg.rs:241:49
[INFO] [stdout]     |
[INFO] [stdout] 241 | fn connect_blocks(blocks: &mut Vec<BasicBlock>, analysis: &Analysis) {
[INFO] [stdout]     |                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program_id`
[INFO] [stdout]    --> src/analyzer/bytecode/disassembler.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 |     program_id: &str,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry_point`
[INFO] [stdout]    --> src/analyzer/bytecode/disassembler.rs:390:24
[INFO] [stdout]     |
[INFO] [stdout] 390 |         for (i, (name, entry_point)) in disassembled.functions.iter().enumerate() {
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program_id`
[INFO] [stdout]    --> src/analyzer/bytecode/disassembler.rs:513:5
[INFO] [stdout]     |
[INFO] [stdout] 513 |     program_id: &str,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analysis`
[INFO] [stdout]   --> src/analyzer/bytecode/error_analyzer.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     analysis: &Analysis
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program_id`
[INFO] [stdout]    --> src/analyzer/bytecode/mod.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     program_id: &str,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `boundary`
[INFO] [stdout]    --> src/analyzer/bytecode/mod.rs:480:18
[INFO] [stdout]     |
[INFO] [stdout] 480 |         for (i, &boundary) in boundaries.iter().enumerate() {
[INFO] [stdout]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boundary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/analyzer/patterns.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let context = ErrorContext {
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/analyzer/patterns.rs:171:21
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     _ => {
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/analyzer/patterns.rs:171:21
[INFO] [stdout]     |
[INFO] [stdout] 161 |                     TransactionBinaryEncoding::Base58 => {
[INFO] [stdout]     |                     --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 166 |                     TransactionBinaryEncoding::Base64 => {
[INFO] [stdout]     |                     --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 171 |                     _ => {
[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: `err`
[INFO] [stdout]    --> src/analyzer/patterns.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 | ...                   Err(err) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program_id`
[INFO] [stdout]    --> src/analyzer/patterns.rs:187:40
[INFO] [stdout]     |
[INFO] [stdout] 187 | fn extract_from_binary(tx_data: &[u8], program_id: &Pubkey, instruction_data: &mut Vec<Vec<u8>>) -> ExtractorResult<()> {
[INFO] [stdout]     |                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `discriminator`
[INFO] [stdout]    --> src/analyzer/patterns.rs:394:41
[INFO] [stdout]     |
[INFO] [stdout] 394 | ...                   let discriminator = extract_discriminator_raw(instruction);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_discriminator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `accounts`
[INFO] [stdout]    --> src/analyzer/patterns.rs:397:41
[INFO] [stdout]     |
[INFO] [stdout] 397 | ...                   let accounts = instruction.accounts.iter()
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_accounts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parsed_instruction`
[INFO] [stdout]    --> src/analyzer/patterns.rs:445:45
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 UiParsedInstruction::Parsed(parsed_instruction) => {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsed_instruction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_readonly`
[INFO] [stdout]    --> src/analyzer/patterns.rs:502:17
[INFO] [stdout]     |
[INFO] [stdout] 502 |             let total_readonly = num_readonly_signed + num_readonly_unsigned;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_readonly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `discriminator`
[INFO] [stdout]    --> src/analyzer/patterns.rs:531:10
[INFO] [stdout]     |
[INFO] [stdout] 531 |     for (discriminator, data_group) in grouped_data {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_discriminator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `discriminator`
[INFO] [stdout]    --> src/analyzer/patterns.rs:719:41
[INFO] [stdout]     |
[INFO] [stdout] 719 | ...                   let discriminator = extract_discriminator_raw(instruction);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_discriminator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `accounts`
[INFO] [stdout]    --> src/analyzer/patterns.rs:722:41
[INFO] [stdout]     |
[INFO] [stdout] 722 | ...                   let accounts = instruction.accounts.iter()
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_accounts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transactions`
[INFO] [stdout]    --> src/analyzer/patterns.rs:763:5
[INFO] [stdout]     |
[INFO] [stdout] 763 |     transactions: &[solana_transaction_status::EncodedTransaction],
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transactions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transaction`
[INFO] [stdout]     --> src/analyzer/patterns.rs:1052:5
[INFO] [stdout]      |
[INFO] [stdout] 1052 |     transaction: &solana_transaction_status::EncodedTransaction,
[INFO] [stdout]      |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transaction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_idx`
[INFO] [stdout]     --> src/analyzer/patterns.rs:1053:5
[INFO] [stdout]      |
[INFO] [stdout] 1053 |     account_idx: usize
[INFO] [stdout]      |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/analyzer/simulation/mod.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let context = ErrorContext {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program_id`
[INFO] [stdout]    --> src/analyzer/simulation/mod.rs:715:46
[INFO] [stdout]     |
[INFO] [stdout] 715 |     async fn try_simulate_instruction(&self, program_id: &Pubkey, instruction_data: &[u8]) -> Result<SimulationResult> {
[INFO] [stdout]     |                                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instruction_data`
[INFO] [stdout]    --> src/analyzer/simulation/mod.rs:715:67
[INFO] [stdout]     |
[INFO] [stdout] 715 |     async fn try_simulate_instruction(&self, program_id: &Pubkey, instruction_data: &[u8]) -> Result<SimulationResult> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern_analysis`
[INFO] [stdout]    --> src/analyzer/mod.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |         pattern_analysis: PatternAnalysis // TODO: use this to further enrich the IDL
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frequency`
[INFO] [stdout]   --> src/monitor/transaction.rs:70:42
[INFO] [stdout]    |
[INFO] [stdout] 70 |         for (i, (is_signer, is_writable, frequency)) in accounts.iter().enumerate() {
[INFO] [stdout]    |                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analysis`
[INFO] [stdout]   --> src/utils/error_analysis.rs:69:65
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn infer_error_name(code: u32, instructions: &[SbfInstruction], analysis: &Analysis) -> String {
[INFO] [stdout]    |                                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analysis`
[INFO] [stdout]    --> src/utils/error_analysis.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     analysis: &Analysis
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/utils/error_analysis.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 |     version: SBPFVersion
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]   --> src/utils/dynamic_analysis.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     version: SBPFVersion,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/utils/dynamic_analysis.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     config: &Config,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program_pubkey`
[INFO] [stdout]   --> src/utils/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     program_pubkey: &Pubkey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_pubkey`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_anchor_instructions` is never used
[INFO] [stdout]    --> src/analyzer/bytecode/mod.rs:345:4
[INFO] [stdout]     |
[INFO] [stdout] 345 | fn extract_anchor_instructions(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_native_instructions` is never used
[INFO] [stdout]    --> src/analyzer/bytecode/mod.rs:434:4
[INFO] [stdout]     |
[INFO] [stdout] 434 | fn extract_native_instructions(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_block_containing` is never used
[INFO] [stdout]    --> src/analyzer/bytecode/cfg.rs:280:4
[INFO] [stdout]     |
[INFO] [stdout] 280 | fn find_block_containing(pc: usize, blocks: &[BasicBlock]) -> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_standard_error_codes` is never used
[INFO] [stdout]   --> src/analyzer/bytecode/error_analyzer.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn add_standard_error_codes(error_codes: &mut HashMap<u32, String>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `infer_error_name` is never used
[INFO] [stdout]    --> src/analyzer/bytecode/error_analyzer.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn infer_error_name(code: u32, instructions: &[SbfInstruction]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `position` is never read
[INFO] [stdout]     --> src/analyzer/patterns.rs:1047:9
[INFO] [stdout]      |
[INFO] [stdout] 1039 | struct TransactionAccount {
[INFO] [stdout]      |        ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1047 |     pub position: usize,
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `TransactionAccount` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `jsonrpc` are never read
[INFO] [stdout]   --> src/analyzer/simulation/mod.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct SimulateResponse {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] 62 |     result: SimulateResult,
[INFO] [stdout] 63 |     id: u64,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 64 |     jsonrpc: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SimulateResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/analyzer/simulation/mod.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct SimulateResult {
[INFO] [stdout]    |        -------------- field in this struct
[INFO] [stdout] 70 |     context: RpcContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SimulateResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `slot` is never read
[INFO] [stdout]   --> src/analyzer/simulation/mod.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | struct RpcContext {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 77 |     slot: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RpcContext` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `executable`, `lamports`, and `rent_epoch` are never read
[INFO] [stdout]   --> src/analyzer/simulation/mod.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | struct AccountInfo {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 92 |     data: Vec<String>,
[INFO] [stdout] 93 |     executable: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 94 |     lamports: u64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 95 |     owner: String,
[INFO] [stdout] 96 |     rent_epoch: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AccountInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_instruction_from_transaction` is never used
[INFO] [stdout]    --> src/analyzer/simulation/mod.rs:755:4
[INFO] [stdout]     |
[INFO] [stdout] 755 | fn extract_instruction_from_transaction(transaction_data: &[u8], program_id: &Pubkey) -> ExtractorResult<Instruction> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `discriminator`, `account_patterns`, `data_patterns`, and `frequency` are never read
[INFO] [stdout]    --> src/monitor/transaction.rs:301:5
[INFO] [stdout]     |
[INFO] [stdout] 300 | struct TransactionPattern {
[INFO] [stdout]     |        ------------------ fields in this struct
[INFO] [stdout] 301 |     discriminator: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 302 |     account_patterns: Vec<AccountPattern>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 303 |     data_patterns: Vec<DataPattern>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 304 |     frequency: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TransactionPattern` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index`, `is_signer`, `is_writable`, and `frequency` are never read
[INFO] [stdout]    --> src/monitor/transaction.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 309 | struct AccountPattern {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 310 |     index: usize,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 311 |     is_signer: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 312 |     is_writable: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 313 |     frequency: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AccountPattern` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `offset`, `size`, `type_hint`, and `frequency` are never read
[INFO] [stdout]    --> src/monitor/transaction.rs:319:5
[INFO] [stdout]     |
[INFO] [stdout] 318 | struct DataPattern {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 319 |     offset: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 320 |     size: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 321 |     type_hint: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 322 |     frequency: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DataPattern` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_typescript` is never used
[INFO] [stdout]   --> src/generator/custom.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn generate_typescript(idl: &IDL) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ts_type_for` is never used
[INFO] [stdout]   --> src/generator/custom.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn ts_type_for(ty: &str) -> &str {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_typescript_with_patterns` is never used
[INFO] [stdout]   --> src/generator/custom.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn generate_typescript_with_patterns(idl: &IDL) -> Result<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking solana-send-transaction-service v2.2.7
[INFO] [stderr]     Checking solana-banks-server v2.2.7
[INFO] [stderr]     Checking solana-program-test v2.2.7
[INFO] [stdout] warning: unused imports: `Context` and `anyhow`
[INFO] [stdout]  --> src/analyzer/bytecode/parser.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]   |                      ^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]  --> src/analyzer/bytecode/parser.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{debug, info, warn};
[INFO] [stdout]   |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `is_load`, `is_store`, and `mem_size`
[INFO] [stdout]   --> src/analyzer/bytecode/parser.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     mem_size,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 30 |     is_load,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 31 |     is_store,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnchorDiscriminator` and `DiscriminatorKind`
[INFO] [stdout]  --> src/analyzer/bytecode/account_analyzer.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::discriminator_detection::{AnchorDiscriminator, DiscriminatorKind};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]  --> src/analyzer/bytecode/cfg.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashSet, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `analyze_control_flow` and `call_target`
[INFO] [stdout]  --> src/analyzer/bytecode/cfg.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 |     branch_target, call_target, analyze_control_flow, find_function_boundaries
[INFO] [stdout]   |                    ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn`
[INFO] [stdout]  --> src/analyzer/bytecode/discriminator_detection.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug, info, warn};
[INFO] [stdout]   |           ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ANCHOR_ACCOUNT_NAMESPACE`, `ANCHOR_DISCRIMINATOR_LENGTH`, `ANCHOR_DISCRIMINATOR_NAMESPACE`, and `anchor`
[INFO] [stdout]   --> src/analyzer/bytecode/discriminator_detection.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     anchor, spl_token, system_program, program_ids,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 10 |     ANCHOR_DISCRIMINATOR_LENGTH, ANCHOR_DISCRIMINATOR_NAMESPACE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     ANCHOR_ACCOUNT_NAMESPACE
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `extract_discriminator_values` and `is_anchor_instruction_validation`
[INFO] [stdout]   --> src/analyzer/bytecode/discriminator_detection.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     is_anchor_instruction_validation,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     extract_discriminator_values,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/analyzer/bytecode/disassembler.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug, info, warn};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `analyze_error_handling`
[INFO] [stdout]  --> src/analyzer/bytecode/error_analyzer.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     analyze_error_handling, 
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]  --> src/analyzer/bytecode/string_analyzer.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug, info};
[INFO] [stdout]   |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/analyzer/bytecode/mod.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | use anyhow::{Result, Context, anyhow};
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/analyzer/bytecode/mod.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | use log::{debug, info, warn};
[INFO] [stdout]    |           ^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_instruction_frequency`
[INFO] [stdout]   --> src/analyzer/bytecode/mod.rs:46:107
[INFO] [stdout]    |
[INFO] [stdout] 46 | ...DynamicAnalysisResult, get_account_access_patterns, get_instruction_frequency, AccessType};
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorAnalysis`
[INFO] [stdout]   --> src/analyzer/bytecode/mod.rs:47:57
[INFO] [stdout]    |
[INFO] [stdout] 47 | use crate::utils::error_analysis::{extract_error_codes, ErrorAnalysis};
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> src/analyzer/patterns.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug, info, warn};
[INFO] [stdout]   |                  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UiTransactionEncoding`
[INFO] [stdout]  --> src/analyzer/patterns.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use solana_transaction_status::{UiTransactionEncoding, TransactionBinaryEncoding, UiMessage, UiInstruction, UiCompiledInstruction, Ui...
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::instruction::Instruction`
[INFO] [stdout]  --> src/analyzer/patterns.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::models::instruction::Instruction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `HashSet`
[INFO] [stdout]   --> src/analyzer/patterns.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::{HashMap, HashSet, BTreeMap};
[INFO] [stdout]    |                                 ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/analyzer/simulation/mod.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{debug, info, warn};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/analyzer/simulation/mod.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Serialize, Deserialize};
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/analyzer/simulation/mod.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sha256`
[INFO] [stdout]   --> src/analyzer/simulation/mod.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | use sha2::{Sha256, Digest};
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorExt`
[INFO] [stdout]   --> src/analyzer/simulation/mod.rs:26:54
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::errors::{ExtractorError, ExtractorResult, ErrorExt, ErrorContext};
[INFO] [stdout]    |                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `solana_sbpf::insn_builder::Instruction`
[INFO] [stdout]   --> src/analyzer/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use solana_sbpf::insn_builder::Instruction; // use this instead for impl on l107
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/generator/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]   --> src/generator/mod.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use log::{info, debug, error};
[INFO] [stdout]    |                 ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/cache/mod.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/cache/mod.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{debug, warn};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context`, `Result`, and `anyhow`
[INFO] [stdout]  --> src/utils/transaction_parser.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]   |              ^^^^^^  ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/utils/transaction_parser.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::{debug, info, warn};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `solana_instruction::Instruction`
[INFO] [stdout]   --> src/utils/transaction_parser.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use solana_instruction::Instruction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorExt`
[INFO] [stdout]   --> src/utils/transaction_parser.rs:21:54
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::errors::{ExtractorError, ExtractorResult, ErrorExt, ErrorContext};
[INFO] [stdout]    |                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `solana_sbpf::static_analysis::Analysis`
[INFO] [stdout]  --> src/utils/account_analysis.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use solana_sbpf::static_analysis::Analysis;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> src/utils/dynamic_analysis.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `solana_hash::Hash::new`: Use 'Hash::new_from_array' instead
[INFO] [stdout]    --> src/analyzer/simulation/mod.rs:193:39
[INFO] [stdout]     |
[INFO] [stdout] 193 |         tx.sign(&[&self.payer], Hash::new(&recent_blockhash));
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/analyzer/simulation/mod.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use sha2::{Sha256, Digest};
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pc`
[INFO] [stdout]    --> src/analyzer/bytecode/parser.rs:703:10
[INFO] [stdout]     |
[INFO] [stdout] 703 |     for (pc, insn) in analysis.instructions.iter().enumerate() {
[INFO] [stdout]     |          ^^ help: if this is intentional, prefix it with an underscore: `_pc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instructions`
[INFO] [stdout]    --> src/analyzer/bytecode/pattern.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     instructions: &[SbfInstruction], 
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instructions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instructions`
[INFO] [stdout]    --> src/analyzer/bytecode/pattern.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     instructions: &[SbfInstruction],
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instructions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `functions`
[INFO] [stdout]    --> src/analyzer/bytecode/pattern.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     functions: &[Function],
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_functions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analysis`
[INFO] [stdout]    --> src/analyzer/bytecode/account_analyzer.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     analysis: &Analysis,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instructions`
[INFO] [stdout]    --> src/analyzer/bytecode/account_analyzer.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     instructions: &[SbfInstruction]
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instructions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analysis`
[INFO] [stdout]    --> src/analyzer/bytecode/cfg.rs:241:49
[INFO] [stdout]     |
[INFO] [stdout] 241 | fn connect_blocks(blocks: &mut Vec<BasicBlock>, analysis: &Analysis) {
[INFO] [stdout]     |                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program_id`
[INFO] [stdout]    --> src/analyzer/bytecode/disassembler.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 |     program_id: &str,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry_point`
[INFO] [stdout]    --> src/analyzer/bytecode/disassembler.rs:390:24
[INFO] [stdout]     |
[INFO] [stdout] 390 |         for (i, (name, entry_point)) in disassembled.functions.iter().enumerate() {
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program_id`
[INFO] [stdout]    --> src/analyzer/bytecode/disassembler.rs:513:5
[INFO] [stdout]     |
[INFO] [stdout] 513 |     program_id: &str,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analysis`
[INFO] [stdout]   --> src/analyzer/bytecode/error_analyzer.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     analysis: &Analysis
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program_id`
[INFO] [stdout]    --> src/analyzer/bytecode/mod.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     program_id: &str,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `boundary`
[INFO] [stdout]    --> src/analyzer/bytecode/mod.rs:480:18
[INFO] [stdout]     |
[INFO] [stdout] 480 |         for (i, &boundary) in boundaries.iter().enumerate() {
[INFO] [stdout]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boundary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/analyzer/patterns.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let context = ErrorContext {
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/analyzer/patterns.rs:171:21
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     _ => {
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/analyzer/patterns.rs:171:21
[INFO] [stdout]     |
[INFO] [stdout] 161 |                     TransactionBinaryEncoding::Base58 => {
[INFO] [stdout]     |                     --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 166 |                     TransactionBinaryEncoding::Base64 => {
[INFO] [stdout]     |                     --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 171 |                     _ => {
[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: `err`
[INFO] [stdout]    --> src/analyzer/patterns.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 | ...                   Err(err) => {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program_id`
[INFO] [stdout]    --> src/analyzer/patterns.rs:187:40
[INFO] [stdout]     |
[INFO] [stdout] 187 | fn extract_from_binary(tx_data: &[u8], program_id: &Pubkey, instruction_data: &mut Vec<Vec<u8>>) -> ExtractorResult<()> {
[INFO] [stdout]     |                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `discriminator`
[INFO] [stdout]    --> src/analyzer/patterns.rs:394:41
[INFO] [stdout]     |
[INFO] [stdout] 394 | ...                   let discriminator = extract_discriminator_raw(instruction);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_discriminator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `accounts`
[INFO] [stdout]    --> src/analyzer/patterns.rs:397:41
[INFO] [stdout]     |
[INFO] [stdout] 397 | ...                   let accounts = instruction.accounts.iter()
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_accounts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parsed_instruction`
[INFO] [stdout]    --> src/analyzer/patterns.rs:445:45
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 UiParsedInstruction::Parsed(parsed_instruction) => {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsed_instruction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_readonly`
[INFO] [stdout]    --> src/analyzer/patterns.rs:502:17
[INFO] [stdout]     |
[INFO] [stdout] 502 |             let total_readonly = num_readonly_signed + num_readonly_unsigned;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_readonly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `discriminator`
[INFO] [stdout]    --> src/analyzer/patterns.rs:531:10
[INFO] [stdout]     |
[INFO] [stdout] 531 |     for (discriminator, data_group) in grouped_data {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_discriminator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `discriminator`
[INFO] [stdout]    --> src/analyzer/patterns.rs:719:41
[INFO] [stdout]     |
[INFO] [stdout] 719 | ...                   let discriminator = extract_discriminator_raw(instruction);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_discriminator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `accounts`
[INFO] [stdout]    --> src/analyzer/patterns.rs:722:41
[INFO] [stdout]     |
[INFO] [stdout] 722 | ...                   let accounts = instruction.accounts.iter()
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_accounts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transactions`
[INFO] [stdout]    --> src/analyzer/patterns.rs:763:5
[INFO] [stdout]     |
[INFO] [stdout] 763 |     transactions: &[solana_transaction_status::EncodedTransaction],
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transactions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transaction`
[INFO] [stdout]     --> src/analyzer/patterns.rs:1052:5
[INFO] [stdout]      |
[INFO] [stdout] 1052 |     transaction: &solana_transaction_status::EncodedTransaction,
[INFO] [stdout]      |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transaction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_idx`
[INFO] [stdout]     --> src/analyzer/patterns.rs:1053:5
[INFO] [stdout]      |
[INFO] [stdout] 1053 |     account_idx: usize
[INFO] [stdout]      |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/analyzer/simulation/mod.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let context = ErrorContext {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program_id`
[INFO] [stdout]    --> src/analyzer/simulation/mod.rs:715:46
[INFO] [stdout]     |
[INFO] [stdout] 715 |     async fn try_simulate_instruction(&self, program_id: &Pubkey, instruction_data: &[u8]) -> Result<SimulationResult> {
[INFO] [stdout]     |                                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instruction_data`
[INFO] [stdout]    --> src/analyzer/simulation/mod.rs:715:67
[INFO] [stdout]     |
[INFO] [stdout] 715 |     async fn try_simulate_instruction(&self, program_id: &Pubkey, instruction_data: &[u8]) -> Result<SimulationResult> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern_analysis`
[INFO] [stdout]    --> src/analyzer/mod.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |         pattern_analysis: PatternAnalysis // TODO: use this to further enrich the IDL
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frequency`
[INFO] [stdout]   --> src/monitor/transaction.rs:70:42
[INFO] [stdout]    |
[INFO] [stdout] 70 |         for (i, (is_signer, is_writable, frequency)) in accounts.iter().enumerate() {
[INFO] [stdout]    |                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analysis`
[INFO] [stdout]   --> src/utils/error_analysis.rs:69:65
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn infer_error_name(code: u32, instructions: &[SbfInstruction], analysis: &Analysis) -> String {
[INFO] [stdout]    |                                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analysis`
[INFO] [stdout]    --> src/utils/error_analysis.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     analysis: &Analysis
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/utils/error_analysis.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 |     version: SBPFVersion
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]   --> src/utils/dynamic_analysis.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     version: SBPFVersion,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/utils/dynamic_analysis.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     config: &Config,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program_pubkey`
[INFO] [stdout]   --> src/utils/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     program_pubkey: &Pubkey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_pubkey`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_anchor_instructions` is never used
[INFO] [stdout]    --> src/analyzer/bytecode/mod.rs:345:4
[INFO] [stdout]     |
[INFO] [stdout] 345 | fn extract_anchor_instructions(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_native_instructions` is never used
[INFO] [stdout]    --> src/analyzer/bytecode/mod.rs:434:4
[INFO] [stdout]     |
[INFO] [stdout] 434 | fn extract_native_instructions(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_block_containing` is never used
[INFO] [stdout]    --> src/analyzer/bytecode/cfg.rs:280:4
[INFO] [stdout]     |
[INFO] [stdout] 280 | fn find_block_containing(pc: usize, blocks: &[BasicBlock]) -> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_standard_error_codes` is never used
[INFO] [stdout]   --> src/analyzer/bytecode/error_analyzer.rs:97:4
[INFO] [stdout]    |
[INFO] [stdout] 97 | fn add_standard_error_codes(error_codes: &mut HashMap<u32, String>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `infer_error_name` is never used
[INFO] [stdout]    --> src/analyzer/bytecode/error_analyzer.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn infer_error_name(code: u32, instructions: &[SbfInstruction]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `position` is never read
[INFO] [stdout]     --> src/analyzer/patterns.rs:1047:9
[INFO] [stdout]      |
[INFO] [stdout] 1039 | struct TransactionAccount {
[INFO] [stdout]      |        ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1047 |     pub position: usize,
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `TransactionAccount` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `jsonrpc` are never read
[INFO] [stdout]   --> src/analyzer/simulation/mod.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct SimulateResponse {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] 62 |     result: SimulateResult,
[INFO] [stdout] 63 |     id: u64,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 64 |     jsonrpc: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SimulateResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/analyzer/simulation/mod.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct SimulateResult {
[INFO] [stdout]    |        -------------- field in this struct
[INFO] [stdout] 70 |     context: RpcContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SimulateResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `slot` is never read
[INFO] [stdout]   --> src/analyzer/simulation/mod.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | struct RpcContext {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 77 |     slot: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RpcContext` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `executable`, `lamports`, and `rent_epoch` are never read
[INFO] [stdout]   --> src/analyzer/simulation/mod.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | struct AccountInfo {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 92 |     data: Vec<String>,
[INFO] [stdout] 93 |     executable: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 94 |     lamports: u64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 95 |     owner: String,
[INFO] [stdout] 96 |     rent_epoch: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AccountInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_instruction_from_transaction` is never used
[INFO] [stdout]    --> src/analyzer/simulation/mod.rs:755:4
[INFO] [stdout]     |
[INFO] [stdout] 755 | fn extract_instruction_from_transaction(transaction_data: &[u8], program_id: &Pubkey) -> ExtractorResult<Instruction> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `discriminator`, `account_patterns`, `data_patterns`, and `frequency` are never read
[INFO] [stdout]    --> src/monitor/transaction.rs:301:5
[INFO] [stdout]     |
[INFO] [stdout] 300 | struct TransactionPattern {
[INFO] [stdout]     |        ------------------ fields in this struct
[INFO] [stdout] 301 |     discriminator: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 302 |     account_patterns: Vec<AccountPattern>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 303 |     data_patterns: Vec<DataPattern>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 304 |     frequency: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TransactionPattern` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index`, `is_signer`, `is_writable`, and `frequency` are never read
[INFO] [stdout]    --> src/monitor/transaction.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 309 | struct AccountPattern {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 310 |     index: usize,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 311 |     is_signer: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 312 |     is_writable: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 313 |     frequency: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AccountPattern` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `offset`, `size`, `type_hint`, and `frequency` are never read
[INFO] [stdout]    --> src/monitor/transaction.rs:319:5
[INFO] [stdout]     |
[INFO] [stdout] 318 | struct DataPattern {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 319 |     offset: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 320 |     size: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 321 |     type_hint: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 322 |     frequency: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DataPattern` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_typescript` is never used
[INFO] [stdout]   --> src/generator/custom.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn generate_typescript(idl: &IDL) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ts_type_for` is never used
[INFO] [stdout]   --> src/generator/custom.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn ts_type_for(ty: &str) -> &str {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_typescript_with_patterns` is never used
[INFO] [stdout]   --> src/generator/custom.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn generate_typescript_with_patterns(idl: &IDL) -> Result<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 28s
[INFO] running `Command { std: "docker" "inspect" "1effe98a2e31b25247b0593f225991a16418bb613a41205ba65a8470de3ad79e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1effe98a2e31b25247b0593f225991a16418bb613a41205ba65a8470de3ad79e", kill_on_drop: false }`
[INFO] [stdout] 1effe98a2e31b25247b0593f225991a16418bb613a41205ba65a8470de3ad79e
