[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] testing diobenu08koga/sol_idl_extractor against try#16fbf98f22730e073c09e7b03f0eafb87a295545 for pr-145628 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdiobenu08koga%2Fsol_idl_extractor" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-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-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/diobenu08koga/sol_idl_extractor on toolchain 16fbf98f22730e073c09e7b03f0eafb87a295545 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "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" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1d456c01397850cb355a577230c24a7eab01f3b9b85cef00e160221eea627b67 [INFO] running `Command { std: "docker" "start" "-a" "1d456c01397850cb355a577230c24a7eab01f3b9b85cef00e160221eea627b67", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1d456c01397850cb355a577230c24a7eab01f3b9b85cef00e160221eea627b67", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d456c01397850cb355a577230c24a7eab01f3b9b85cef00e160221eea627b67", kill_on_drop: false }` [INFO] [stdout] 1d456c01397850cb355a577230c24a7eab01f3b9b85cef00e160221eea627b67 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dc767c39df0352599913ad573cfc2142cdf01b2b36d38838a196c26ef9009df1 [INFO] running `Command { std: "docker" "start" "-a" "dc767c39df0352599913ad573cfc2142cdf01b2b36d38838a196c26ef9009df1", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.171 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling indexmap v2.9.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling winnow v0.7.6 [INFO] [stderr] Compiling borsh v1.5.7 [INFO] [stderr] Compiling bytemuck_derive v1.9.3 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Compiling solana-sanitize v2.2.1 [INFO] [stderr] Compiling bs58 v0.5.1 [INFO] [stderr] Compiling solana-atomic-u64 v2.2.1 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling bytemuck v1.22.0 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling solana-decode-error v2.2.1 [INFO] [stderr] Compiling five8_core v0.1.2 [INFO] [stderr] Compiling zerocopy v0.8.24 [INFO] [stderr] Compiling five8_const v0.1.4 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling toml_edit v0.22.24 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling jobserver v0.1.33 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling hashbrown v0.13.2 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling cc v1.2.19 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling proc-macro-crate v3.3.0 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling borsh-derive-internal v0.10.4 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.10.4 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Compiling solana-sdk-macro v2.2.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling block-buffer v0.9.0 [INFO] [stderr] Compiling sha2 v0.9.9 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling borsh-derive v1.5.7 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling signature v1.6.4 [INFO] [stderr] Compiling curve25519-dalek v3.2.0 [INFO] [stderr] Compiling ed25519 v1.5.3 [INFO] [stderr] Compiling solana-msg v2.2.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling solana-program-memory v2.2.1 [INFO] [stderr] Compiling blake3 v1.8.1 [INFO] [stderr] Compiling borsh-derive v0.10.4 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling bitflags v2.9.0 [INFO] [stderr] Compiling borsh v0.10.4 [INFO] [stderr] Compiling ed25519-dalek v1.0.1 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling serde-big-array v0.5.1 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling solana-short-vec v2.2.1 [INFO] [stderr] Compiling bv v0.11.1 [INFO] [stderr] Compiling solana-signature v2.2.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling solana-hash v2.2.1 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling solana-sha256-hasher v2.2.1 [INFO] [stderr] Compiling serde_bytes v0.11.17 [INFO] [stderr] Compiling solana-fee-calculator v2.2.1 [INFO] [stderr] Compiling openssl-src v300.5.0+3.5.0 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling socket2 v0.5.9 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling solana-pubkey v2.2.1 [INFO] [stderr] Compiling pbkdf2 v0.11.0 [INFO] [stderr] Compiling solana-instruction v2.2.1 [INFO] [stderr] Compiling solana-sdk-ids v2.2.1 [INFO] [stderr] Compiling openssl-sys v0.9.107 [INFO] [stderr] Compiling solana-sysvar-id v2.2.1 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling solana-transaction-error v2.2.1 [INFO] [stderr] Compiling solana-system-interface v1.0.0 [INFO] [stderr] Compiling solana-program-error v2.2.1 [INFO] [stderr] Compiling solana-clock v2.2.1 [INFO] [stderr] Compiling solana-epoch-schedule v2.2.1 [INFO] [stderr] Compiling solana-signer v2.2.1 [INFO] [stderr] Compiling solana-bincode v2.2.1 [INFO] [stderr] Compiling solana-account-info v2.2.1 [INFO] [stderr] Compiling solana-slot-hashes v2.2.1 [INFO] [stderr] Compiling solana-message v2.2.1 [INFO] [stderr] Compiling solana-program-entrypoint v2.2.1 [INFO] [stderr] Compiling solana-serialize-utils v2.2.1 [INFO] [stderr] Compiling solana-cpi v2.2.1 [INFO] [stderr] Compiling solana-rent v2.2.1 [INFO] [stderr] Compiling solana-instructions-sysvar v2.2.1 [INFO] [stderr] Compiling solana-last-restart-slot v2.2.1 [INFO] [stderr] Compiling solana-stake-interface v1.2.1 [INFO] [stderr] Compiling solana-slot-history v2.2.1 [INFO] [stderr] Compiling solana-epoch-rewards v2.2.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling solana-seed-phrase v2.2.1 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling tokio v1.44.2 [INFO] [stderr] Compiling tinystr v0.7.6 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling openssl v0.10.72 [INFO] [stderr] Compiling icu_locid v1.5.0 [INFO] [stderr] Compiling sha3 v0.10.8 [INFO] [stderr] Compiling solana-sysvar v2.2.1 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling crunchy v0.2.3 [INFO] [stderr] Compiling solana-account v2.2.1 [INFO] [stderr] Compiling icu_provider v1.5.0 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling icu_collections v1.5.0 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling icu_locid_transform v1.5.0 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling libsecp256k1-core v0.2.2 [INFO] [stderr] Compiling rustls-webpki v0.101.7 [INFO] [stderr] Compiling icu_properties v1.5.1 [INFO] [stderr] Compiling solana-serde-varint v2.2.1 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling sct v0.7.1 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling libsecp256k1-gen-ecmult v0.2.1 [INFO] [stderr] Compiling libsecp256k1-gen-genmult v0.2.1 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling crypto-mac v0.8.0 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling alloc-no-stdlib v2.0.4 [INFO] [stderr] Compiling alloc-stdlib v0.2.2 [INFO] [stderr] Compiling hmac v0.8.1 [INFO] [stderr] Compiling libsecp256k1 v0.6.0 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling qstring v0.7.2 [INFO] [stderr] Compiling uriparse v0.6.4 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling derivation-path v0.2.0 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Compiling miniz_oxide v0.8.8 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling solana-derivation-path v2.2.1 [INFO] [stderr] Compiling icu_normalizer v1.5.0 [INFO] [stderr] Compiling tokio-util v0.7.14 [INFO] [stderr] Compiling tokio-rustls v0.24.1 [INFO] [stderr] Compiling polyval v0.6.2 [INFO] [stderr] Compiling hmac-drbg v0.3.0 [INFO] [stderr] Compiling brotli-decompressor v4.0.2 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling idna_adapter v1.2.0 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling h2 v0.3.26 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling flate2 v1.1.1 [INFO] [stderr] Compiling aes-gcm-siv v0.11.1 [INFO] [stderr] Compiling brotli v7.0.0 [INFO] [stderr] Compiling solana-seed-derivable v2.2.1 [INFO] [stderr] Compiling solana-feature-gate-interface v2.2.1 [INFO] [stderr] Compiling merlin v3.0.0 [INFO] [stderr] Compiling zstd-sys v2.0.15+zstd.1.5.7 [INFO] [stderr] Compiling webpki-roots v0.25.4 [INFO] [stderr] Compiling solana-zk-sdk v2.2.7 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling solana-feature-set-interface v4.0.0 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling solana-native-token v2.2.1 [INFO] [stderr] Compiling solana-program-option v2.2.1 [INFO] [stderr] Compiling agave-feature-set v2.2.7 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling async-compression v0.4.22 [INFO] [stderr] Compiling solana-nonce v2.2.1 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling solana-stable-layout v2.2.1 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling solana-transaction-context v2.2.1 [INFO] [stderr] Compiling solana-keccak-hasher v2.2.1 [INFO] [stderr] Compiling solana-address-lookup-table-interface v2.2.2 [INFO] [stderr] Compiling solana-borsh v2.2.1 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling solana-example-mocks v2.2.1 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling solana-secp256k1-recover v2.2.1 [INFO] [stderr] Compiling spl-discriminator-syn v0.2.0 [INFO] [stderr] Compiling solana-big-mod-exp v2.2.1 [INFO] [stderr] Compiling solana-vote-interface v2.2.3 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling solana-loader-v3-interface v3.0.0 [INFO] [stderr] Compiling solana-loader-v4-interface v2.2.1 [INFO] [stderr] Compiling solana-program-pack v2.2.1 [INFO] [stderr] Compiling solana-loader-v2-interface v2.2.1 [INFO] [stderr] Compiling solana-blake3-hasher v2.2.1 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling hyper-rustls v0.24.2 [INFO] [stderr] Compiling portable-atomic v1.11.0 [INFO] [stderr] Compiling spl-pod v0.5.1 [INFO] [stderr] Compiling spl-discriminator-derive v0.2.0 [INFO] [stderr] Compiling solana-transaction v2.2.2 [INFO] [stderr] Compiling solana-commitment-config v2.2.1 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Compiling getrandom v0.3.2 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling time-core v0.1.4 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling serde_with_macros v3.12.0 [INFO] [stderr] Compiling solana-program v2.2.1 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling solana-measure v2.2.7 [INFO] [stderr] Compiling time-macros v0.2.22 [INFO] [stderr] Compiling deranged v0.4.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling serde_with v3.12.0 [INFO] [stderr] Compiling spl-discriminator v0.4.1 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling solana-keypair v2.2.1 [INFO] [stderr] Compiling solana-cluster-type v2.2.1 [INFO] [stderr] Compiling solana-reward-info v2.2.1 [INFO] [stderr] Compiling gethostname v0.2.3 [INFO] [stderr] Compiling cfg_eval v0.1.2 [INFO] [stderr] Compiling rustls v0.23.26 [INFO] [stderr] Compiling solana-time-utils v2.2.1 [INFO] [stderr] Compiling num v0.2.1 [INFO] [stderr] Compiling time v0.3.41 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling solana-packet v2.2.1 [INFO] [stderr] Compiling rusticata-macros v4.1.0 [INFO] [stderr] Compiling asn1-rs-derive v0.4.0 [INFO] [stderr] Compiling rustls-webpki v0.103.1 [INFO] [stderr] Compiling task-local-extensions v0.1.4 [INFO] [stderr] Compiling asn1-rs-impl v0.1.0 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling percentage v0.1.0 [INFO] [stderr] Compiling spl-type-length-value v0.7.0 [INFO] [stderr] Compiling jsonrpc-core v18.0.0 [INFO] [stderr] Compiling spl-program-error-derive v0.4.1 [INFO] [stderr] Compiling solana-version v2.2.7 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling solana-inline-spl v2.2.7 [INFO] [stderr] Compiling solana-curve25519 v2.2.7 [INFO] [stderr] Compiling solana-serde v2.2.1 [INFO] [stderr] Compiling solana-inflation v2.2.1 [INFO] [stderr] Compiling asn1-rs v0.5.2 [INFO] [stderr] Compiling oid-registry v0.6.1 [INFO] [stderr] Compiling solana-net-utils v2.2.7 [INFO] [stderr] Compiling spl-program-error v0.6.0 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling solana-feature-set v2.2.4 [INFO] [stderr] Compiling num_enum_derive v0.7.3 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling solana-precompile-error v2.2.1 [INFO] [stderr] Compiling quinn-udp v0.5.11 [INFO] [stderr] Compiling dlopen2_derive v0.3.0 [INFO] [stderr] Compiling solana-perf v2.2.7 [INFO] [stderr] Compiling ascii v0.9.3 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling dlopen2 v0.5.0 [INFO] [stderr] Compiling num_enum v0.7.3 [INFO] [stderr] Compiling combine v3.8.1 [INFO] [stderr] Compiling solana-rayon-threadlimit v2.2.7 [INFO] [stderr] Compiling der-parser v8.2.0 [INFO] [stderr] Compiling rand v0.9.1 [INFO] [stderr] Compiling spl-tlv-account-resolution v0.9.0 [INFO] [stderr] Compiling zstd v0.13.3 [INFO] [stderr] Compiling spl-token-confidential-transfer-proof-extraction v0.2.1 [INFO] [stderr] Compiling caps v0.5.5 [INFO] [stderr] Compiling raw-cpuid v11.5.0 [INFO] [stderr] Compiling solana-epoch-info v2.2.1 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling solana-account-decoder-client-types v2.2.7 [INFO] [stderr] Compiling quinn v0.11.7 [INFO] [stderr] Compiling enum-iterator-derive v1.4.0 [INFO] [stderr] Compiling rustc-hash v2.1.1 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling indicatif v0.17.11 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling solana-transaction-status-client-types v2.2.7 [INFO] [stderr] Compiling quanta v0.12.5 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling enum-iterator v1.5.0 [INFO] [stderr] Compiling spl-elgamal-registry v0.1.1 [INFO] [stderr] Compiling rustls-platform-verifier v0.5.1 [INFO] [stderr] Compiling spl-transfer-hook-interface v0.9.0 [INFO] [stderr] Compiling x509-parser v0.14.0 [INFO] [stderr] Compiling quinn-proto v0.11.11 [INFO] [stderr] Compiling spl-token v7.0.0 [INFO] [stderr] Compiling solana-ed25519-program v2.2.2 [INFO] [stderr] Compiling spl-token-confidential-transfer-ciphertext-arithmetic v0.2.1 [INFO] [stderr] Compiling spl-token-metadata-interface v0.6.0 [INFO] [stderr] Compiling solana-quic-definitions v2.2.1 [INFO] [stderr] Compiling spl-token-group-interface v0.5.0 [INFO] [stderr] Compiling solana-secp256k1-program v2.2.1 [INFO] [stderr] Compiling solana-fee-structure v2.2.1 [INFO] [stderr] Compiling webpki-roots v0.24.0 [INFO] [stderr] Compiling spl-memo v6.0.0 [INFO] [stderr] Compiling spinning_top v0.3.0 [INFO] [stderr] Compiling hash32 v0.2.1 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling eager v0.1.0 [INFO] [stderr] Compiling solana-security-txt v1.1.1 [INFO] [stderr] Compiling no-std-compat v0.4.1 [INFO] [stderr] Compiling nonzero_ext v0.3.0 [INFO] [stderr] Compiling async-channel v1.9.0 [INFO] [stderr] Compiling tungstenite v0.20.1 [INFO] [stderr] Compiling governor v0.6.3 [INFO] [stderr] Compiling solana-sbpf v0.10.0 [INFO] [stderr] Compiling solana-tls-utils v2.2.7 [INFO] [stderr] Compiling solana-timings v2.2.7 [INFO] [stderr] Compiling event-listener v5.4.0 [INFO] [stderr] Compiling solana-compute-budget v2.2.7 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling pem v1.1.1 [INFO] [stderr] Compiling solana-type-overrides v2.2.7 [INFO] [stderr] Compiling solana-log-collector v2.2.7 [INFO] [stderr] Compiling histogram v0.6.9 [INFO] [stderr] Compiling chrono v0.4.40 [INFO] [stderr] Compiling tokio-tungstenite v0.20.1 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling solana-client-traits v2.2.1 [INFO] [stderr] Compiling spl-token-confidential-transfer-proof-generation v0.2.0 [INFO] [stderr] Compiling spl-token-confidential-transfer-proof-generation v0.3.0 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling spl-token-2022 v7.0.0 [INFO] [stderr] Compiling spl-token-2022 v6.0.0 [INFO] [stderr] Compiling async-lock v3.4.0 [INFO] [stderr] Compiling Inflector v0.11.4 [INFO] [stderr] Compiling spl-associated-token-account-client v2.0.0 [INFO] [stderr] Compiling scroll_derive v0.11.1 [INFO] [stderr] Compiling agave-reserved-account-keys v2.2.7 [INFO] [stderr] Compiling hash32 v0.3.1 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling dirs-sys v0.3.7 [INFO] [stderr] Compiling humantime v2.2.0 [INFO] [stderr] Compiling scroll v0.11.0 [INFO] [stderr] Compiling plain v0.2.3 [INFO] [stderr] Compiling env_logger v0.10.2 [INFO] [stderr] Compiling dirs v4.0.0 [INFO] [stderr] Compiling goblin v0.6.1 [INFO] [stderr] Compiling solana-sbpf v0.11.0 [INFO] [stderr] Compiling spl-associated-token-account v6.0.0 [INFO] [stderr] Compiling solana-secp256r1-program v2.2.2 [INFO] [stderr] Compiling agave-precompiles v2.2.7 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling solana-program-runtime v2.2.7 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling solana-config-program v2.2.7 [INFO] [stderr] Compiling solana-account-decoder v2.2.7 [INFO] [stderr] Compiling solana-metrics v2.2.7 [INFO] [stderr] Compiling reqwest-middleware v0.2.5 [INFO] [stderr] Compiling solana-rpc-client-api v2.2.7 [INFO] [stderr] Compiling solana-connection-cache v2.2.7 [INFO] [stderr] Compiling solana-transaction-status v2.2.7 [INFO] [stderr] Compiling solana-transaction-metrics-tracker v2.2.7 [INFO] [stderr] Compiling solana-streamer v2.2.7 [INFO] [stderr] Compiling solana-rpc-client v2.2.7 [INFO] [stderr] Compiling solana-pubsub-client v2.2.7 [INFO] [stderr] Compiling solana-quic-client v2.2.7 [INFO] [stderr] Compiling solana-udp-client v2.2.7 [INFO] [stderr] Compiling solana-tpu-client v2.2.7 [INFO] [stderr] Compiling solana-thin-client v2.2.7 [INFO] [stderr] Compiling solana-rpc-client-nonce-utils v2.2.7 [INFO] [stderr] Compiling solana-client v2.2.7 [INFO] [stderr] Compiling 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 | use crate::utils::dynamic_analysis::{analyze_dynamic, DynamicAnalysisResult, get_account_access_patterns, get_instruction_frequency, Acce... [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, UiPars... [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 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] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [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 { [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 { [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 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] [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, analysis: &Analysis) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis` [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: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: `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>) -> 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: `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 { [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) { [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, [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 { [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, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 303 | data_patterns: Vec, [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 { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10m 01s [INFO] running `Command { std: "docker" "inspect" "dc767c39df0352599913ad573cfc2142cdf01b2b36d38838a196c26ef9009df1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dc767c39df0352599913ad573cfc2142cdf01b2b36d38838a196c26ef9009df1", kill_on_drop: false }` [INFO] [stdout] dc767c39df0352599913ad573cfc2142cdf01b2b36d38838a196c26ef9009df1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0ef8e436110a23f20232a23e77c2b4cf2e1a5967a90395c111867d051aaa476c [INFO] running `Command { std: "docker" "start" "-a" "0ef8e436110a23f20232a23e77c2b4cf2e1a5967a90395c111867d051aaa476c", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling bytemuck v1.22.0 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling derivation-path v0.2.0 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling ark-std v0.4.0 [INFO] [stderr] Compiling ark-serialize-derive v0.4.2 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling ark-ff-macros v0.4.2 [INFO] [stderr] Compiling solana-derivation-path v2.2.1 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling solana-seed-derivable v2.2.1 [INFO] [stderr] Compiling ark-serialize v0.4.2 [INFO] [stderr] Compiling tokio v1.44.2 [INFO] [stderr] Compiling ark-ff-asm v0.4.2 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling env_logger v0.9.3 [INFO] [stderr] Compiling memmap2 v0.5.10 [INFO] [stderr] Compiling solana-define-syscall v2.2.1 [INFO] [stderr] Compiling qualifier_attr v0.2.2 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling rustix v1.0.5 [INFO] [stderr] Compiling solana-logger v2.3.1 [INFO] [stderr] Compiling solana-validator-exit v2.2.1 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling quinn-proto v0.11.11 [INFO] [stderr] Compiling quinn-udp v0.5.11 [INFO] [stderr] Compiling spinning_top v0.3.0 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling bzip2-sys v0.1.13+1.0.8 [INFO] [stderr] Compiling lz4-sys v1.11.1+lz4-1.10.0 [INFO] [stderr] Compiling enum-ordinalize v3.1.15 [INFO] [stderr] Compiling ark-ff v0.4.2 [INFO] [stderr] Compiling solana-hash v2.2.1 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling solana-sha256-hasher v2.2.1 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling bitflags v2.9.0 [INFO] [stderr] Compiling ed25519-dalek v1.0.1 [INFO] [stderr] Compiling serde-big-array v0.5.1 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling solana-short-vec v2.2.1 [INFO] [stderr] Compiling solana-signature v2.2.1 [INFO] [stderr] Compiling bv v0.11.1 [INFO] [stderr] Compiling serde_bytes v0.11.17 [INFO] [stderr] Compiling solana-fee-calculator v2.2.1 [INFO] [stderr] Compiling openssl v0.10.72 [INFO] [stderr] Compiling solana-pubkey v2.2.1 [INFO] [stderr] Compiling solana-instruction v2.2.1 [INFO] [stderr] Compiling solana-sdk-ids v2.2.1 [INFO] [stderr] Compiling solana-sysvar-id v2.2.1 [INFO] [stderr] Compiling solana-epoch-schedule v2.2.1 [INFO] [stderr] Compiling solana-clock v2.2.1 [INFO] [stderr] Compiling solana-slot-hashes v2.2.1 [INFO] [stderr] Compiling solana-transaction-error v2.2.1 [INFO] [stderr] Compiling solana-system-interface v1.0.0 [INFO] [stderr] Compiling solana-program-error v2.2.1 [INFO] [stderr] Compiling solana-bincode v2.2.1 [INFO] [stderr] Compiling solana-message v2.2.1 [INFO] [stderr] Compiling solana-account-info v2.2.1 [INFO] [stderr] Compiling solana-signer v2.2.1 [INFO] [stderr] Compiling solana-program-entrypoint v2.2.1 [INFO] [stderr] Compiling solana-serialize-utils v2.2.1 [INFO] [stderr] Compiling solana-cpi v2.2.1 [INFO] [stderr] Compiling solana-rent v2.2.1 [INFO] [stderr] Compiling libsecp256k1 v0.6.0 [INFO] [stderr] Compiling solana-stake-interface v1.2.1 [INFO] [stderr] Compiling solana-instructions-sysvar v2.2.1 [INFO] [stderr] Compiling solana-last-restart-slot v2.2.1 [INFO] [stderr] Compiling solana-epoch-rewards v2.2.1 [INFO] [stderr] Compiling solana-slot-history v2.2.1 [INFO] [stderr] Compiling solana-feature-set v2.2.4 [INFO] [stderr] Compiling solana-sysvar v2.2.1 [INFO] [stderr] Compiling solana-account v2.2.1 [INFO] [stderr] Compiling solana-secp256r1-program v2.2.2 [INFO] [stderr] Compiling solana-ed25519-program v2.2.2 [INFO] [stderr] Compiling tokio-util v0.7.14 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling tokio-rustls v0.24.1 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling async-compression v0.4.22 [INFO] [stderr] Compiling solana-cluster-type v2.2.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling solana-serde-varint v2.2.1 [INFO] [stderr] Compiling solana-stable-layout v2.2.1 [INFO] [stderr] Compiling solana-transaction-context v2.2.1 [INFO] [stderr] Compiling h2 v0.3.26 [INFO] [stderr] Compiling solana-feature-set-interface v4.0.0 [INFO] [stderr] Compiling serde_with v3.12.0 [INFO] [stderr] Compiling agave-feature-set v2.2.7 [INFO] [stderr] Compiling solana-secp256k1-program v2.2.1 [INFO] [stderr] Compiling solana-nonce v2.2.1 [INFO] [stderr] Compiling ed25519-dalek-bip32 v0.2.0 [INFO] [stderr] Compiling solana-vote-interface v2.2.3 [INFO] [stderr] Compiling solana-precompiles v2.2.1 [INFO] [stderr] Compiling solana-keypair v2.2.1 [INFO] [stderr] Compiling solana-fee-structure v2.2.1 [INFO] [stderr] Compiling solana-transaction v2.2.2 [INFO] [stderr] Compiling solana-keccak-hasher v2.2.1 [INFO] [stderr] Compiling solana-secp256k1-recover v2.2.1 [INFO] [stderr] Compiling solana-loader-v3-interface v3.0.0 [INFO] [stderr] Compiling solana-packet v2.2.1 [INFO] [stderr] Compiling solana-loader-v4-interface v2.2.1 [INFO] [stderr] Compiling solana-address-lookup-table-interface v2.2.2 [INFO] [stderr] Compiling solana-blake3-hasher v2.2.1 [INFO] [stderr] Compiling solana-feature-gate-interface v2.2.1 [INFO] [stderr] Compiling solana-inflation v2.2.1 [INFO] [stderr] Compiling agave-precompiles v2.2.7 [INFO] [stderr] Compiling solana-compute-budget v2.2.7 [INFO] [stderr] Compiling solana-timings v2.2.7 [INFO] [stderr] Compiling solana-curve25519 v2.2.7 [INFO] [stderr] Compiling chrono v0.4.40 [INFO] [stderr] Compiling solana-example-mocks v2.2.1 [INFO] [stderr] Compiling ark-poly v0.4.2 [INFO] [stderr] Compiling solana-zk-sdk v2.2.7 [INFO] [stderr] Compiling solana-program-pack v2.2.1 [INFO] [stderr] Compiling solana-loader-v2-interface v2.2.1 [INFO] [stderr] Compiling solana-commitment-config v2.2.1 [INFO] [stderr] Compiling solana-reward-info v2.2.1 [INFO] [stderr] Compiling solana-hard-forks v2.2.1 [INFO] [stderr] Compiling solana-poh-config v2.2.1 [INFO] [stderr] Compiling solana-shred-version v2.2.1 [INFO] [stderr] Compiling solana-serde v2.2.1 [INFO] [stderr] Compiling solana-nonce-account v2.2.1 [INFO] [stderr] Compiling solana-epoch-info v2.2.1 [INFO] [stderr] Compiling ark-ec v0.4.2 [INFO] [stderr] Compiling solana-quic-definitions v2.2.1 [INFO] [stderr] Compiling solana-program v2.2.1 [INFO] [stderr] Compiling solana-account-decoder-client-types v2.2.7 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling solana-genesis-config v2.2.1 [INFO] [stderr] Compiling solana-client-traits v2.2.1 [INFO] [stderr] Compiling solana-compute-budget-interface v2.2.1 [INFO] [stderr] Compiling solana-inline-spl v2.2.7 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling solana-transaction-status-client-types v2.2.7 [INFO] [stderr] Compiling solana-svm-transaction v2.2.7 [INFO] [stderr] Compiling solana-version v2.2.7 [INFO] [stderr] Compiling jsonrpc-core v18.0.0 [INFO] [stderr] Compiling solana-net-utils v2.2.7 [INFO] [stderr] Compiling ark-bn254 v0.4.0 [INFO] [stderr] Compiling solana-bn254 v2.2.2 [INFO] [stderr] Compiling light-poseidon v0.2.0 [INFO] [stderr] Compiling spl-discriminator v0.4.1 [INFO] [stderr] Compiling solana-rent-collector v2.2.1 [INFO] [stderr] Compiling solana-rent-debits v2.2.1 [INFO] [stderr] Compiling solana-offchain-message v2.2.1 [INFO] [stderr] Compiling solana-system-transaction v2.2.1 [INFO] [stderr] Compiling solana-reserved-account-keys v2.2.1 [INFO] [stderr] Compiling solana-presigner v2.2.1 [INFO] [stderr] Compiling solana-poseidon v2.2.7 [INFO] [stderr] Compiling solana-epoch-rewards-hasher v2.2.1 [INFO] [stderr] Compiling raw-cpuid v11.5.0 [INFO] [stderr] Compiling solana-sdk v2.2.2 [INFO] [stderr] Compiling spl-program-error v0.6.0 [INFO] [stderr] Compiling solana-tls-utils v2.2.7 [INFO] [stderr] Compiling spl-pod v0.5.1 [INFO] [stderr] Compiling quinn v0.11.7 [INFO] [stderr] Compiling quanta v0.12.5 [INFO] [stderr] Compiling hyper-rustls v0.24.2 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling spl-type-length-value v0.7.0 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling governor v0.6.3 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling spl-token-confidential-transfer-proof-extraction v0.2.1 [INFO] [stderr] Compiling spl-tlv-account-resolution v0.9.0 [INFO] [stderr] Compiling agave-transaction-view v2.2.7 [INFO] [stderr] Compiling tokio-tungstenite v0.20.1 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling modular-bitfield-impl v0.11.2 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling predicates-core v1.0.9 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling spl-transfer-hook-interface v0.9.0 [INFO] [stderr] Compiling tempfile v3.19.1 [INFO] [stderr] Compiling spl-elgamal-registry v0.1.1 [INFO] [stderr] Compiling spl-token-metadata-interface v0.6.0 [INFO] [stderr] Compiling opentelemetry v0.17.0 [INFO] [stderr] Compiling spl-token-group-interface v0.5.0 [INFO] [stderr] Compiling xattr v1.5.0 [INFO] [stderr] Compiling modular-bitfield v0.11.2 [INFO] [stderr] Compiling spl-token-confidential-transfer-ciphertext-arithmetic v0.2.1 [INFO] [stderr] Compiling spl-token v7.0.0 [INFO] [stderr] Compiling solana-zk-token-sdk v2.2.7 [INFO] [stderr] Compiling agave-reserved-account-keys v2.2.7 [INFO] [stderr] Compiling spl-memo v6.0.0 [INFO] [stderr] Compiling educe v0.4.23 [INFO] [stderr] Compiling 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] Compiling bitmaps v2.1.0 [INFO] [stderr] Compiling solana-metrics v2.2.7 [INFO] [stderr] Compiling reqwest-middleware v0.2.5 [INFO] [stderr] Compiling filetime v0.2.25 [INFO] [stderr] Compiling im v15.1.0 [INFO] [stderr] Compiling solana-program-runtime v2.2.7 [INFO] [stderr] Compiling solana-rpc-client-api v2.2.7 [INFO] [stderr] Compiling solana-perf v2.2.7 [INFO] [stderr] Compiling solana-connection-cache v2.2.7 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling solana-transaction-metrics-tracker v2.2.7 [INFO] [stderr] Compiling solana-config-program v2.2.7 [INFO] [stderr] Compiling solana-bpf-loader-program v2.2.7 [INFO] [stderr] Compiling solana-stake-program v2.2.7 [INFO] [stderr] Compiling solana-system-program v2.2.7 [INFO] [stderr] Compiling solana-compute-budget-program v2.2.7 [INFO] [stderr] Compiling solana-vote-program v2.2.7 [INFO] [stderr] Compiling solana-address-lookup-table-program v2.2.7 [INFO] [stderr] Compiling solana-streamer v2.2.7 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling strum_macros v0.24.3 [INFO] [stderr] Compiling predicates v2.1.5 [INFO] [stderr] Compiling solana-rpc-client v2.2.7 [INFO] [stderr] Compiling solana-loader-v4-program v2.2.7 [INFO] [stderr] Compiling solana-builtins-default-costs v2.2.7 [INFO] [stderr] Compiling solana-pubsub-client v2.2.7 [INFO] [stderr] Compiling solana-compute-budget-instruction v2.2.7 [INFO] [stderr] Compiling solana-runtime-transaction v2.2.7 [INFO] [stderr] Compiling solana-quic-client v2.2.7 [INFO] [stderr] Compiling solana-udp-client v2.2.7 [INFO] [stderr] Compiling solana-zk-elgamal-proof-program v2.2.7 [INFO] [stderr] Compiling solana-zk-token-proof-program v2.2.7 [INFO] [stderr] Compiling predicates-tree v1.0.12 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling tokio-serde v0.8.0 [INFO] [stderr] Compiling sized-chunks v0.6.5 [INFO] [stderr] Compiling tar v0.4.44 [INFO] [stderr] Compiling tracing-opentelemetry v0.17.4 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Compiling include_dir v0.7.4 [INFO] [stderr] Compiling bzip2 v0.4.4 [INFO] [stderr] Compiling solana-bucket-map v2.2.7 [INFO] [stderr] Compiling lz4 v1.28.1 [INFO] [stderr] Compiling solana-svm-rent-collector v2.2.7 [INFO] [stderr] Compiling tokio-util v0.6.10 [INFO] [stderr] Compiling seqlock v0.2.0 [INFO] [stderr] Compiling solana-lattice-hash v2.2.7 [INFO] [stderr] Compiling rand_xoshiro v0.6.0 [INFO] [stderr] Compiling mockall_derive v0.11.4 [INFO] [stderr] Compiling tarpc-plugins v0.12.0 [INFO] [stderr] Compiling solana-nohash-hasher v0.2.1 [INFO] [stderr] Compiling fragile v2.0.1 [INFO] [stderr] Compiling downcast v0.11.0 [INFO] [stderr] Compiling assert_matches v1.5.0 [INFO] [stderr] Compiling index_list v0.2.15 [INFO] [stderr] Compiling solana-unified-scheduler-logic v2.2.7 [INFO] [stderr] Compiling solana-thin-client v2.2.7 [INFO] [stderr] Compiling solana-tpu-client v2.2.7 [INFO] [stderr] Compiling solana-rpc-client-nonce-utils v2.2.7 [INFO] [stderr] Compiling tarpc v0.29.0 [INFO] [stderr] Compiling solana-accounts-db v2.2.7 [INFO] [stderr] Compiling solana-svm v2.2.7 [INFO] [stderr] Compiling aquamarine v0.6.0 [INFO] [stderr] Compiling solana-client v2.2.7 [INFO] [stderr] Compiling dir-diff v0.3.3 [INFO] [stderr] Compiling solana-builtins v2.2.7 [INFO] [stderr] Compiling solana-cost-model v2.2.7 [INFO] [stderr] Compiling strum v0.24.1 [INFO] [stderr] Compiling spl-token-confidential-transfer-proof-generation v0.2.0 [INFO] [stderr] Compiling spl-token-confidential-transfer-proof-generation v0.3.0 [INFO] [stderr] Compiling solana-vote v2.2.7 [INFO] [stderr] Compiling solana-fee v2.2.7 [INFO] [stderr] Compiling symlink v0.1.0 [INFO] [stderr] Compiling spl-token-2022 v7.0.0 [INFO] [stderr] Compiling spl-token-2022 v6.0.0 [INFO] [stderr] Compiling solana-banks-interface v2.2.7 [INFO] [stderr] Compiling mockall v0.11.4 [INFO] [stderr] Compiling spl-associated-token-account-client v2.0.0 [INFO] [stderr] Compiling chrono-humanize v0.2.3 [INFO] [stderr] Compiling solana-banks-client v2.2.7 [INFO] [stderr] Compiling spl-associated-token-account v6.0.0 [INFO] [stderr] Compiling solana-account-decoder v2.2.7 [INFO] [stderr] Compiling solana-runtime v2.2.7 [INFO] [stderr] Compiling solana-transaction-status v2.2.7 [INFO] [stderr] Compiling 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 | use crate::utils::dynamic_analysis::{analyze_dynamic, DynamicAnalysisResult, get_account_access_patterns, get_instruction_frequency, Acce... [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, UiPars... [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 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] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [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 { [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 { [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 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] [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, analysis: &Analysis) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis` [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: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: `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>) -> 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: `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 { [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) { [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, [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 { [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, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 303 | data_patterns: Vec, [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 { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling solana-send-transaction-service v2.2.7 [INFO] [stderr] Compiling solana-banks-server v2.2.7 [INFO] [stderr] Compiling 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 | use crate::utils::dynamic_analysis::{analyze_dynamic, DynamicAnalysisResult, get_account_access_patterns, get_instruction_frequency, Acce... [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, UiPars... [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 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] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [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 { [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 { [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 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] [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, analysis: &Analysis) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis` [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: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: `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>) -> 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: `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 { [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) { [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, [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 { [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, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 303 | data_patterns: Vec, [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 { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 5m 28s [INFO] running `Command { std: "docker" "inspect" "0ef8e436110a23f20232a23e77c2b4cf2e1a5967a90395c111867d051aaa476c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0ef8e436110a23f20232a23e77c2b4cf2e1a5967a90395c111867d051aaa476c", kill_on_drop: false }` [INFO] [stdout] 0ef8e436110a23f20232a23e77c2b4cf2e1a5967a90395c111867d051aaa476c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+16fbf98f22730e073c09e7b03f0eafb87a295545" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 177708fa95e4e22c6e3870a6b1c7a16babddf3933a404636504e43615320afaa [INFO] running `Command { std: "docker" "start" "-a" "177708fa95e4e22c6e3870a6b1c7a16babddf3933a404636504e43615320afaa", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `Context` and `anyhow` [INFO] [stderr] --> src/analyzer/bytecode/parser.rs:7:22 [INFO] [stderr] | [INFO] [stderr] 7 | use anyhow::{Result, anyhow, Context}; [INFO] [stderr] | ^^^^^^ ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `debug` and `info` [INFO] [stderr] --> src/analyzer/bytecode/parser.rs:8:11 [INFO] [stderr] | [INFO] [stderr] 8 | use log::{debug, info, warn}; [INFO] [stderr] | ^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `is_load`, `is_store`, and `mem_size` [INFO] [stderr] --> src/analyzer/bytecode/parser.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | mem_size, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 30 | is_load, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 31 | is_store, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AnchorDiscriminator` and `DiscriminatorKind` [INFO] [stderr] --> src/analyzer/bytecode/account_analyzer.rs:6:38 [INFO] [stderr] | [INFO] [stderr] 6 | use super::discriminator_detection::{AnchorDiscriminator, DiscriminatorKind}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `VecDeque` [INFO] [stderr] --> src/analyzer/bytecode/cfg.rs:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | use std::collections::{HashSet, VecDeque}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `analyze_control_flow` and `call_target` [INFO] [stderr] --> src/analyzer/bytecode/cfg.rs:9:20 [INFO] [stderr] | [INFO] [stderr] 9 | branch_target, call_target, analyze_control_flow, find_function_boundaries [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `debug`, `info`, and `warn` [INFO] [stderr] --> src/analyzer/bytecode/discriminator_detection.rs:4:11 [INFO] [stderr] | [INFO] [stderr] 4 | use log::{debug, info, warn}; [INFO] [stderr] | ^^^^^ ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ANCHOR_ACCOUNT_NAMESPACE`, `ANCHOR_DISCRIMINATOR_LENGTH`, `ANCHOR_DISCRIMINATOR_NAMESPACE`, and `anchor` [INFO] [stderr] --> src/analyzer/bytecode/discriminator_detection.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | anchor, spl_token, system_program, program_ids, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 10 | ANCHOR_DISCRIMINATOR_LENGTH, ANCHOR_DISCRIMINATOR_NAMESPACE, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 11 | ANCHOR_ACCOUNT_NAMESPACE [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `extract_discriminator_values` and `is_anchor_instruction_validation` [INFO] [stderr] --> src/analyzer/bytecode/discriminator_detection.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | is_anchor_instruction_validation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 16 | extract_discriminator_values, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `debug` [INFO] [stderr] --> src/analyzer/bytecode/disassembler.rs:4:11 [INFO] [stderr] | [INFO] [stderr] 4 | use log::{debug, info, warn}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `analyze_error_handling` [INFO] [stderr] --> src/analyzer/bytecode/error_analyzer.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | analyze_error_handling, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `debug` and `info` [INFO] [stderr] --> src/analyzer/bytecode/string_analyzer.rs:4:11 [INFO] [stderr] | [INFO] [stderr] 4 | use log::{debug, info}; [INFO] [stderr] | ^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Context` [INFO] [stderr] --> src/analyzer/bytecode/mod.rs:31:22 [INFO] [stderr] | [INFO] [stderr] 31 | use anyhow::{Result, Context, anyhow}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `debug` and `warn` [INFO] [stderr] --> src/analyzer/bytecode/mod.rs:32:11 [INFO] [stderr] | [INFO] [stderr] 32 | use log::{debug, info, warn}; [INFO] [stderr] | ^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `get_instruction_frequency` [INFO] [stderr] --> src/analyzer/bytecode/mod.rs:46:107 [INFO] [stderr] | [INFO] [stderr] 46 | use crate::utils::dynamic_analysis::{analyze_dynamic, DynamicAnalysisResult, get_account_access_patterns, get_instruction_frequency, Acce... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ErrorAnalysis` [INFO] [stderr] --> src/analyzer/bytecode/mod.rs:47:57 [INFO] [stderr] | [INFO] [stderr] 47 | use crate::utils::error_analysis::{extract_error_codes, ErrorAnalysis}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `info` and `warn` [INFO] [stderr] --> src/analyzer/patterns.rs:4:18 [INFO] [stderr] | [INFO] [stderr] 4 | use log::{debug, info, warn}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `UiTransactionEncoding` [INFO] [stderr] --> src/analyzer/patterns.rs:6:33 [INFO] [stderr] | [INFO] [stderr] 6 | use solana_transaction_status::{UiTransactionEncoding, TransactionBinaryEncoding, UiMessage, UiInstruction, UiCompiledInstruction, UiPars... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::models::instruction::Instruction` [INFO] [stderr] --> src/analyzer/patterns.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::models::instruction::Instruction; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BTreeMap` and `HashSet` [INFO] [stderr] --> src/analyzer/patterns.rs:11:33 [INFO] [stderr] | [INFO] [stderr] 11 | use std::collections::{HashMap, HashSet, BTreeMap}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `debug` [INFO] [stderr] --> src/analyzer/simulation/mod.rs:3:11 [INFO] [stderr] | [INFO] [stderr] 3 | use log::{debug, info, warn}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Serialize` [INFO] [stderr] --> src/analyzer/simulation/mod.rs:5:13 [INFO] [stderr] | [INFO] [stderr] 5 | use serde::{Serialize, Deserialize}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashSet` [INFO] [stderr] --> src/analyzer/simulation/mod.rs:7:33 [INFO] [stderr] | [INFO] [stderr] 7 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Sha256` [INFO] [stderr] --> src/analyzer/simulation/mod.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 10 | use sha2::{Sha256, Digest}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ErrorExt` [INFO] [stderr] --> src/analyzer/simulation/mod.rs:26:54 [INFO] [stderr] | [INFO] [stderr] 26 | use crate::errors::{ExtractorError, ExtractorResult, ErrorExt, ErrorContext}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `solana_sbpf::insn_builder::Instruction` [INFO] [stderr] --> src/analyzer/mod.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use solana_sbpf::insn_builder::Instruction; // use this instead for impl on l107 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs` [INFO] [stderr] --> src/generator/mod.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::fs; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `debug` and `error` [INFO] [stderr] --> src/generator/mod.rs:13:17 [INFO] [stderr] | [INFO] [stderr] 13 | use log::{info, debug, error}; [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/cache/mod.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | use std::path::{Path, PathBuf}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `warn` [INFO] [stderr] --> src/cache/mod.rs:8:18 [INFO] [stderr] | [INFO] [stderr] 8 | use log::{debug, warn}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Context`, `Result`, and `anyhow` [INFO] [stderr] --> src/utils/transaction_parser.rs:8:14 [INFO] [stderr] | [INFO] [stderr] 8 | use anyhow::{Result, anyhow, Context}; [INFO] [stderr] | ^^^^^^ ^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `info` [INFO] [stderr] --> src/utils/transaction_parser.rs:9:18 [INFO] [stderr] | [INFO] [stderr] 9 | use log::{debug, info, warn}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `solana_instruction::Instruction` [INFO] [stderr] --> src/utils/transaction_parser.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use solana_instruction::Instruction; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ErrorExt` [INFO] [stderr] --> src/utils/transaction_parser.rs:21:54 [INFO] [stderr] | [INFO] [stderr] 21 | use crate::errors::{ExtractorError, ExtractorResult, ErrorExt, ErrorContext}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `solana_sbpf::static_analysis::Analysis` [INFO] [stderr] --> src/utils/account_analysis.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use solana_sbpf::static_analysis::Analysis; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashSet` [INFO] [stderr] --> src/utils/dynamic_analysis.rs:10:33 [INFO] [stderr] | [INFO] [stderr] 10 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `solana_hash::Hash::new`: Use 'Hash::new_from_array' instead [INFO] [stderr] --> src/analyzer/simulation/mod.rs:193:39 [INFO] [stderr] | [INFO] [stderr] 193 | tx.sign(&[&self.payer], Hash::new(&recent_blockhash)); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/analyzer/simulation/mod.rs:158:13 [INFO] [stderr] | [INFO] [stderr] 158 | let context = ErrorContext { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `program_id` [INFO] [stderr] --> src/analyzer/simulation/mod.rs:715:46 [INFO] [stderr] | [INFO] [stderr] 715 | async fn try_simulate_instruction(&self, program_id: &Pubkey, instruction_data: &[u8]) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `instruction_data` [INFO] [stderr] --> src/analyzer/simulation/mod.rs:715:67 [INFO] [stderr] | [INFO] [stderr] 715 | async fn try_simulate_instruction(&self, program_id: &Pubkey, instruction_data: &[u8]) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pattern_analysis` [INFO] [stderr] --> src/analyzer/mod.rs:197:9 [INFO] [stderr] | [INFO] [stderr] 197 | pattern_analysis: PatternAnalysis // TODO: use this to further enrich the IDL [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern_analysis` [INFO] [stderr] [INFO] [stderr] warning: unused import: `Digest` [INFO] [stderr] --> src/analyzer/simulation/mod.rs:10:20 [INFO] [stderr] | [INFO] [stderr] 10 | use sha2::{Sha256, Digest}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pc` [INFO] [stderr] --> src/analyzer/bytecode/parser.rs:703:10 [INFO] [stderr] | [INFO] [stderr] 703 | for (pc, insn) in analysis.instructions.iter().enumerate() { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_pc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `instructions` [INFO] [stderr] --> src/analyzer/bytecode/pattern.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | instructions: &[SbfInstruction], [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instructions` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `instructions` [INFO] [stderr] --> src/analyzer/bytecode/pattern.rs:192:5 [INFO] [stderr] | [INFO] [stderr] 192 | instructions: &[SbfInstruction], [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instructions` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `functions` [INFO] [stderr] --> src/analyzer/bytecode/pattern.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | functions: &[Function], [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_functions` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `analysis` [INFO] [stderr] --> src/analyzer/bytecode/account_analyzer.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | analysis: &Analysis, [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `instructions` [INFO] [stderr] --> src/analyzer/bytecode/account_analyzer.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | instructions: &[SbfInstruction] [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instructions` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `analysis` [INFO] [stderr] --> src/analyzer/bytecode/cfg.rs:241:49 [INFO] [stderr] | [INFO] [stderr] 241 | fn connect_blocks(blocks: &mut Vec, analysis: &Analysis) { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `entry_point` [INFO] [stderr] --> src/analyzer/bytecode/disassembler.rs:390:24 [INFO] [stderr] | [INFO] [stderr] 390 | for (i, (name, entry_point)) in disassembled.functions.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_point` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `program_id` [INFO] [stderr] --> src/analyzer/bytecode/disassembler.rs:349:5 [INFO] [stderr] | [INFO] [stderr] 349 | program_id: &str, [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `program_id` [INFO] [stderr] --> src/analyzer/bytecode/disassembler.rs:513:5 [INFO] [stderr] | [INFO] [stderr] 513 | program_id: &str, [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `analysis` [INFO] [stderr] --> src/analyzer/bytecode/error_analyzer.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | analysis: &Analysis [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `program_id` [INFO] [stderr] --> src/analyzer/bytecode/mod.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | program_id: &str, [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `boundary` [INFO] [stderr] --> src/analyzer/bytecode/mod.rs:480:18 [INFO] [stderr] | [INFO] [stderr] 480 | for (i, &boundary) in boundaries.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boundary` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/analyzer/patterns.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let context = ErrorContext { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/analyzer/patterns.rs:171:21 [INFO] [stderr] | [INFO] [stderr] 171 | _ => { [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/analyzer/patterns.rs:171:21 [INFO] [stderr] | [INFO] [stderr] 161 | TransactionBinaryEncoding::Base58 => { [INFO] [stderr] | --------------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 166 | TransactionBinaryEncoding::Base64 => { [INFO] [stderr] | --------------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 171 | _ => { [INFO] [stderr] | ^ collectively making this unreachable [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/analyzer/patterns.rs:143:45 [INFO] [stderr] | [INFO] [stderr] 143 | ... Err(err) => { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `program_id` [INFO] [stderr] --> src/analyzer/patterns.rs:187:40 [INFO] [stderr] | [INFO] [stderr] 187 | fn extract_from_binary(tx_data: &[u8], program_id: &Pubkey, instruction_data: &mut Vec>) -> ExtractorResult<()> { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `discriminator` [INFO] [stderr] --> src/analyzer/patterns.rs:394:41 [INFO] [stderr] | [INFO] [stderr] 394 | ... let discriminator = extract_discriminator_raw(instruction); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_discriminator` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `accounts` [INFO] [stderr] --> src/analyzer/patterns.rs:397:41 [INFO] [stderr] | [INFO] [stderr] 397 | ... let accounts = instruction.accounts.iter() [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_accounts` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `parsed_instruction` [INFO] [stderr] --> src/analyzer/patterns.rs:445:45 [INFO] [stderr] | [INFO] [stderr] 445 | UiParsedInstruction::Parsed(parsed_instruction) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsed_instruction` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `total_readonly` [INFO] [stderr] --> src/analyzer/patterns.rs:502:17 [INFO] [stderr] | [INFO] [stderr] 502 | let total_readonly = num_readonly_signed + num_readonly_unsigned; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_readonly` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `discriminator` [INFO] [stderr] --> src/analyzer/patterns.rs:531:10 [INFO] [stderr] | [INFO] [stderr] 531 | for (discriminator, data_group) in grouped_data { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_discriminator` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `discriminator` [INFO] [stderr] --> src/analyzer/patterns.rs:719:41 [INFO] [stderr] | [INFO] [stderr] 719 | ... let discriminator = extract_discriminator_raw(instruction); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_discriminator` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `accounts` [INFO] [stderr] --> src/analyzer/patterns.rs:722:41 [INFO] [stderr] | [INFO] [stderr] 722 | ... let accounts = instruction.accounts.iter() [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_accounts` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `transactions` [INFO] [stderr] --> src/analyzer/patterns.rs:763:5 [INFO] [stderr] | [INFO] [stderr] 763 | transactions: &[solana_transaction_status::EncodedTransaction], [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transactions` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `transaction` [INFO] [stderr] --> src/analyzer/patterns.rs:1052:5 [INFO] [stderr] | [INFO] [stderr] 1052 | transaction: &solana_transaction_status::EncodedTransaction, [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transaction` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `account_idx` [INFO] [stderr] --> src/analyzer/patterns.rs:1053:5 [INFO] [stderr] | [INFO] [stderr] 1053 | account_idx: usize [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_idx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `frequency` [INFO] [stderr] --> src/monitor/transaction.rs:70:42 [INFO] [stderr] | [INFO] [stderr] 70 | for (i, (is_signer, is_writable, frequency)) in accounts.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `analysis` [INFO] [stderr] --> src/utils/error_analysis.rs:69:65 [INFO] [stderr] | [INFO] [stderr] 69 | fn infer_error_name(code: u32, instructions: &[SbfInstruction], analysis: &Analysis) -> String { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `analysis` [INFO] [stderr] --> src/utils/error_analysis.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | analysis: &Analysis [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analysis` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `version` [INFO] [stderr] --> src/utils/error_analysis.rs:214:5 [INFO] [stderr] | [INFO] [stderr] 214 | version: SBPFVersion [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `version` [INFO] [stderr] --> src/utils/dynamic_analysis.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 83 | version: SBPFVersion, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `config` [INFO] [stderr] --> src/utils/dynamic_analysis.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | config: &Config, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `program_pubkey` [INFO] [stderr] --> src/utils/mod.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | program_pubkey: &Pubkey, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_pubkey` [INFO] [stderr] [INFO] [stderr] warning: function `extract_anchor_instructions` is never used [INFO] [stderr] --> src/analyzer/bytecode/mod.rs:345:4 [INFO] [stderr] | [INFO] [stderr] 345 | fn extract_anchor_instructions( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `extract_native_instructions` is never used [INFO] [stderr] --> src/analyzer/bytecode/mod.rs:434:4 [INFO] [stderr] | [INFO] [stderr] 434 | fn extract_native_instructions( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `find_block_containing` is never used [INFO] [stderr] --> src/analyzer/bytecode/cfg.rs:280:4 [INFO] [stderr] | [INFO] [stderr] 280 | fn find_block_containing(pc: usize, blocks: &[BasicBlock]) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `add_standard_error_codes` is never used [INFO] [stderr] --> src/analyzer/bytecode/error_analyzer.rs:97:4 [INFO] [stderr] | [INFO] [stderr] 97 | fn add_standard_error_codes(error_codes: &mut HashMap) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `infer_error_name` is never used [INFO] [stderr] --> src/analyzer/bytecode/error_analyzer.rs:122:4 [INFO] [stderr] | [INFO] [stderr] 122 | fn infer_error_name(code: u32, instructions: &[SbfInstruction]) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `position` is never read [INFO] [stderr] --> src/analyzer/patterns.rs:1047:9 [INFO] [stderr] | [INFO] [stderr] 1039 | struct TransactionAccount { [INFO] [stderr] | ------------------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 1047 | pub position: usize, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TransactionAccount` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `id` and `jsonrpc` are never read [INFO] [stderr] --> src/analyzer/simulation/mod.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 61 | struct SimulateResponse { [INFO] [stderr] | ---------------- fields in this struct [INFO] [stderr] 62 | result: SimulateResult, [INFO] [stderr] 63 | id: u64, [INFO] [stderr] | ^^ [INFO] [stderr] 64 | jsonrpc: String, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SimulateResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `context` is never read [INFO] [stderr] --> src/analyzer/simulation/mod.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 69 | struct SimulateResult { [INFO] [stderr] | -------------- field in this struct [INFO] [stderr] 70 | context: RpcContext, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SimulateResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `slot` is never read [INFO] [stderr] --> src/analyzer/simulation/mod.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 76 | struct RpcContext { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] 77 | slot: u64, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RpcContext` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `executable`, `lamports`, and `rent_epoch` are never read [INFO] [stderr] --> src/analyzer/simulation/mod.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 91 | struct AccountInfo { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 92 | data: Vec, [INFO] [stderr] 93 | executable: bool, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 94 | lamports: u64, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 95 | owner: String, [INFO] [stderr] 96 | rent_epoch: u64, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AccountInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: function `extract_instruction_from_transaction` is never used [INFO] [stderr] --> src/analyzer/simulation/mod.rs:755:4 [INFO] [stderr] | [INFO] [stderr] 755 | fn extract_instruction_from_transaction(transaction_data: &[u8], program_id: &Pubkey) -> ExtractorResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `discriminator`, `account_patterns`, `data_patterns`, and `frequency` are never read [INFO] [stderr] --> src/monitor/transaction.rs:301:5 [INFO] [stderr] | [INFO] [stderr] 300 | struct TransactionPattern { [INFO] [stderr] | ------------------ fields in this struct [INFO] [stderr] 301 | discriminator: u8, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 302 | account_patterns: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] 303 | data_patterns: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 304 | frequency: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TransactionPattern` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `index`, `is_signer`, `is_writable`, and `frequency` are never read [INFO] [stderr] --> src/monitor/transaction.rs:310:5 [INFO] [stderr] | [INFO] [stderr] 309 | struct AccountPattern { [INFO] [stderr] | -------------- fields in this struct [INFO] [stderr] 310 | index: usize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 311 | is_signer: bool, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 312 | is_writable: bool, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 313 | frequency: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AccountPattern` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `offset`, `size`, `type_hint`, and `frequency` are never read [INFO] [stderr] --> src/monitor/transaction.rs:319:5 [INFO] [stderr] | [INFO] [stderr] 318 | struct DataPattern { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 319 | offset: usize, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 320 | size: usize, [INFO] [stderr] | ^^^^ [INFO] [stderr] 321 | type_hint: String, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 322 | frequency: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DataPattern` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: function `generate_typescript` is never used [INFO] [stderr] --> src/generator/custom.rs:14:8 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn generate_typescript(idl: &IDL) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `ts_type_for` is never used [INFO] [stderr] --> src/generator/custom.rs:47:4 [INFO] [stderr] | [INFO] [stderr] 47 | fn ts_type_for(ty: &str) -> &str { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `generate_typescript_with_patterns` is never used [INFO] [stderr] --> src/generator/custom.rs:59:4 [INFO] [stderr] | [INFO] [stderr] 59 | fn generate_typescript_with_patterns(idl: &IDL) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `solana-idl-extractor` (lib) generated 93 warnings (run `cargo fix --lib -p solana-idl-extractor` to apply 36 suggestions) [INFO] [stderr] warning: `solana-idl-extractor` (lib test) generated 93 warnings (93 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.36s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/solana_idl_extractor-c914df64ef615a2f) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/solana_idl_extractor-d5e6bc091c655fd3) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests solana_idl_extractor [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test src/lib.rs - (line 14) ... FAILED [INFO] [stdout] test src/analyzer/bytecode/mod.rs - analyzer::bytecode::BytecodeAnalysis (line 58) ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/lib.rs - (line 14) stdout ---- [INFO] [stdout] error[E0425]: cannot find function `analyze_program` in module `analyzer` [INFO] [stdout] --> src/lib.rs:22:25 [INFO] [stdout] | [INFO] [stdout] 10 | let idl = analyzer::analyze_program(&program_id.parse()?, &program_data)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ not found in `analyzer` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these functions [INFO] [stdout] | [INFO] [stdout] 4 + use crate::analyzer::bytecode::dynamic_analysis::analyze_program; [INFO] [stdout] | [INFO] [stdout] 4 + use solana_idl_extractor::analyze_program; [INFO] [stdout] | [INFO] [stdout] 4 + use solana_idl_extractor::analyzer::bytecode::dynamic_analysis::analyze_program; [INFO] [stdout] | [INFO] [stdout] help: if you import `analyze_program`, refer to it directly [INFO] [stdout] | [INFO] [stdout] 10 - let idl = analyzer::analyze_program(&program_id.parse()?, &program_data)?; [INFO] [stdout] 10 + let idl = analyze_program(&program_id.parse()?, &program_data)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/lib.rs - (line 14) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.20s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "177708fa95e4e22c6e3870a6b1c7a16babddf3933a404636504e43615320afaa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "177708fa95e4e22c6e3870a6b1c7a16babddf3933a404636504e43615320afaa", kill_on_drop: false }` [INFO] [stdout] 177708fa95e4e22c6e3870a6b1c7a16babddf3933a404636504e43615320afaa