[INFO] cloning repository https://github.com/girasolbot/girasolbot
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/girasolbot/girasolbot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgirasolbot%2Fgirasolbot", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgirasolbot%2Fgirasolbot'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c1b72106690eecfd661f14778c56902040b240b5
[INFO] checking girasolbot/girasolbot against 846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9 for pr-160391-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgirasolbot%2Fgirasolbot" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/girasolbot/girasolbot
[INFO] finished tweaking git repo https://github.com/girasolbot/girasolbot
[INFO] tweaked toml for git repo https://github.com/girasolbot/girasolbot written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/girasolbot/girasolbot on toolchain 846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/girasolbot/girasolbot 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" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded spl-token v6.0.0
[INFO] [stderr]   Downloaded spl-associated-token-account v4.0.0
[INFO] [stderr]   Downloaded spl-type-length-value v0.5.0
[INFO] [stderr]   Downloaded spl-program-error v0.5.0
[INFO] [stderr]   Downloaded spl-token-2022 v4.0.1
[INFO] [stderr]   Downloaded spl-pod v0.3.1
[INFO] [stderr]   Downloaded spl-discriminator v0.3.0
[INFO] [stderr]   Downloaded spl-transfer-hook-interface v0.7.0
[INFO] [stderr]   Downloaded spl-token-metadata-interface v0.4.0
[INFO] [stderr]   Downloaded spl-memo v5.0.0
[INFO] [stderr]   Downloaded spl-tlv-account-resolution v0.7.0
[INFO] [stderr]   Downloaded spl-token-group-interface v0.3.0
[INFO] [stderr]   Downloaded solana-zk-token-sdk v2.3.13
[INFO] [stderr]   Downloaded inotify v0.11.1
[INFO] [stderr]   Downloaded mpl-token-metadata v5.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d88fa8530d35be9fbee4c24452b0bf7c694c15d111cbfdbaeb06ebd60d312dc6
[INFO] running `Command { std: "docker" "start" "d88fa8530d35be9fbee4c24452b0bf7c694c15d111cbfdbaeb06ebd60d312dc6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d88fa8530d35be9fbee4c24452b0bf7c694c15d111cbfdbaeb06ebd60d312dc6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d88fa8530d35be9fbee4c24452b0bf7c694c15d111cbfdbaeb06ebd60d312dc6" "/opt/rustwide/cargo-home/bin/cargo" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d88fa8530d35be9fbee4c24452b0bf7c694c15d111cbfdbaeb06ebd60d312dc6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d88fa8530d35be9fbee4c24452b0bf7c694c15d111cbfdbaeb06ebd60d312dc6" "/opt/rustwide/cargo-home/bin/cargo" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling toml_datetime v1.0.0+spec-1.1.0
[INFO] [stderr]    Compiling borsh v1.6.0
[INFO] [stderr]     Checking five8_core v0.1.2
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking solana-sanitize v2.2.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking solana-atomic-u64 v2.2.1
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]     Checking five8 v0.2.1
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking solana-decode-error v2.3.0
[INFO] [stderr]     Checking five8_const v0.1.4
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling bs58 v0.5.1
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]     Checking solana-msg v2.2.1
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]    Compiling solana-sdk-macro v2.2.1
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking signature v1.6.4
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking ed25519 v1.5.3
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking serde-big-array v0.5.1
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking solana-program-memory v2.3.1
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking bv v0.11.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking solana-fee-calculator v2.2.1
[INFO] [stderr]     Checking derivation-path v0.2.0
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking uriparse v0.6.4
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]     Checking solana-short-vec v2.2.1
[INFO] [stderr]     Checking qstring v0.7.2
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking libsecp256k1-core v0.2.2
[INFO] [stderr]     Checking hmac v0.8.1
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]     Checking hmac-drbg v0.3.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking solana-derivation-path v2.2.1
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking solana-seed-derivable v2.2.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]     Checking curve25519-dalek v3.2.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]     Checking pbkdf2 v0.11.0
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking solana-seed-phrase v2.2.1
[INFO] [stderr]     Checking solana-serde-varint v2.2.2
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking solana-program-option v2.2.1
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling toml_edit v0.25.4+spec-1.1.0
[INFO] [stderr]    Compiling rustls v0.23.46
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.2.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]    Compiling libsecp256k1 v0.6.0
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking merlin v3.0.0
[INFO] [stderr]    Compiling openssl-src v300.5.5+3.5.5
[INFO] [stderr]    Compiling blake3 v1.8.3
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking brotli-decompressor v5.0.0
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking aes-gcm-siv v0.11.1
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]     Checking solana-native-token v2.3.0
[INFO] [stderr]     Checking webpki-roots v1.0.10
[INFO] [stderr]     Checking solana-precompile-error v2.2.2
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling spl-discriminator-syn v0.2.1
[INFO] [stderr]     Checking solana-big-mod-exp v2.2.1
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling borsh-schema-derive-internal v0.10.4
[INFO] [stderr]    Compiling borsh-derive-internal v0.10.4
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking brotli v8.0.2
[INFO] [stderr]    Compiling spl-discriminator-derive v0.2.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling borsh-derive v1.6.0
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking solana-curve25519 v2.3.13
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]     Checking solana-time-utils v2.2.1
[INFO] [stderr]     Checking crossbeam-epoch v0.9.20
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking solana-inflation v2.2.1
[INFO] [stderr]     Checking solana-commitment-config v2.2.1
[INFO] [stderr]     Checking solana-reward-info v2.2.1
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling borsh-derive v0.10.4
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling solana-version v2.3.13
[INFO] [stderr]     Checking borsh v0.10.4
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]     Checking solana-svm-feature-set v2.3.13
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking gethostname v0.2.3
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking ed25519-dalek v1.0.1
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking solana-signature v2.3.0
[INFO] [stderr]     Checking ed25519-dalek-bip32 v0.2.0
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]    Compiling asn1-rs-impl v0.1.0
[INFO] [stderr]    Compiling num_enum_derive v0.7.5
[INFO] [stderr]    Compiling spl-program-error-derive v0.4.1
[INFO] [stderr]    Compiling asn1-rs-derive v0.4.0
[INFO] [stderr]    Compiling cfg_eval v0.1.2
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]     Checking solana-hash v2.3.0
[INFO] [stderr]     Checking solana-borsh v2.2.1
[INFO] [stderr]     Checking solana-sha256-hasher v2.3.0
[INFO] [stderr]     Checking solana-keccak-hasher v2.2.1
[INFO] [stderr]     Checking solana-pubkey v2.4.0
[INFO] [stderr]     Checking solana-blake3-hasher v2.2.1
[INFO] [stderr]     Checking solana-cluster-type v2.2.1
[INFO] [stderr]     Checking rusticata-macros v4.1.0
[INFO] [stderr]     Checking num_enum v0.7.5
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]     Checking solana-instruction v2.3.3
[INFO] [stderr]     Checking solana-sdk-ids v2.2.1
[INFO] [stderr]     Checking solana-nonce v2.2.1
[INFO] [stderr]     Checking solana-sysvar-id v2.2.1
[INFO] [stderr]     Checking solana-epoch-schedule v2.2.1
[INFO] [stderr]     Checking solana-clock v2.2.3
[INFO] [stderr]     Checking solana-slot-hashes v2.2.1
[INFO] [stderr]     Checking solana-rent v2.2.1
[INFO] [stderr]     Checking solana-epoch-rewards v2.2.1
[INFO] [stderr]     Checking solana-last-restart-slot v2.2.1
[INFO] [stderr]     Checking solana-slot-history v2.2.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking solana-feature-set v2.2.5
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking compression-codecs v0.4.37
[INFO] [stderr]     Checking solana-transaction-error v2.2.1
[INFO] [stderr]     Checking solana-program-error v2.2.2
[INFO] [stderr]     Checking solana-system-interface v1.0.0
[INFO] [stderr]     Checking solana-serialize-utils v2.2.1
[INFO] [stderr]     Checking solana-account-info v2.3.0
[INFO] [stderr]     Checking solana-bincode v2.2.1
[INFO] [stderr]     Checking solana-program-pack v2.2.1
[INFO] [stderr]     Checking solana-cpi v2.2.1
[INFO] [stderr]     Checking solana-instructions-sysvar v2.2.2
[INFO] [stderr]     Checking solana-signer v2.2.1
[INFO] [stderr]     Checking solana-program-entrypoint v2.3.0
[INFO] [stderr]     Checking rustls-webpki v0.103.16
[INFO] [stderr]     Checking solana-address-lookup-table-interface v2.2.2
[INFO] [stderr]     Checking solana-stable-layout v2.2.1
[INFO] [stderr]     Checking solana-loader-v2-interface v2.2.1
[INFO] [stderr]     Checking async-compression v0.4.41
[INFO] [stderr]     Checking solana-keypair v2.2.3
[INFO] [stderr]     Checking solana-zk-sdk v2.3.13
[INFO] [stderr]     Checking solana-stake-interface v1.2.1
[INFO] [stderr]     Checking solana-message v2.4.0
[INFO] [stderr]     Checking solana-vote-interface v2.2.6
[INFO] [stderr]     Checking solana-loader-v3-interface v5.0.0
[INFO] [stderr]     Checking solana-loader-v4-interface v2.2.1
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]     Checking solana-ed25519-program v2.2.3
[INFO] [stderr]     Checking h2 v0.4.16
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking agave-feature-set v2.3.13
[INFO] [stderr]     Checking spl-generic-token v1.0.1
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]     Checking solana-zk-token-sdk v2.3.13
[INFO] [stderr]    Compiling serde_with_macros v3.17.0
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking solana-example-mocks v2.2.1
[INFO] [stderr]     Checking asn1-rs v0.5.2
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling oid-registry v0.6.1
[INFO] [stderr]     Checking solana-sysvar v2.3.0
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]     Checking chacha20 v0.10.2
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking spl-discriminator v0.4.1
[INFO] [stderr]     Checking solana-account v2.2.1
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking getrandom v0.4.3
[INFO] [stderr]     Checking jsonrpc-core v18.0.0
[INFO] [stderr]     Checking ark-std v0.4.0
[INFO] [stderr]     Checking spl-pod v0.5.1
[INFO] [stderr]    Compiling ark-serialize-derive v0.4.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking solana-feature-gate-interface v2.2.2
[INFO] [stderr]     Checking solana-transaction-context v2.3.13
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking solana-serde v2.2.1
[INFO] [stderr]     Checking solana-epoch-info v2.2.1
[INFO] [stderr]    Compiling dlopen2_derive v0.3.0
[INFO] [stderr]    Compiling quinn-udp v0.5.14
[INFO] [stderr]     Checking serde_with v3.17.0
[INFO] [stderr]    Compiling solana-perf v2.3.13
[INFO] [stderr]     Checking siphasher v1.0.2
[INFO] [stderr]     Checking solana-measure v2.3.13
[INFO] [stderr]     Checking dlopen2 v0.5.0
[INFO] [stderr]     Checking tinyvec v1.10.0
[INFO] [stderr]     Checking fastbloom v0.17.0
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking ark-serialize v0.4.2
[INFO] [stderr]     Checking solana-rayon-threadlimit v2.3.13
[INFO] [stderr]     Checking rand v0.10.3
[INFO] [stderr]     Checking solana-secp256k1-recover v2.2.1
[INFO] [stderr]     Checking solana-secp256k1-program v2.2.3
[INFO] [stderr]     Checking solana-program v2.3.0
[INFO] [stderr]     Checking der-parser v8.2.0
[INFO] [stderr]     Checking solana-quic-definitions v2.3.1
[INFO] [stderr]     Checking rand_pcg v0.10.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling ark-ff-asm v0.4.2
[INFO] [stderr]     Checking caps v0.5.6
[INFO] [stderr]     Checking spl-program-error v0.5.0
[INFO] [stderr]     Checking spl-discriminator v0.3.0
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking spl-pod v0.3.1
[INFO] [stderr]     Checking raw-cpuid v11.6.0
[INFO] [stderr]    Compiling quinn v0.11.9
[INFO] [stderr]     Checking rustc-hash v2.1.1
[INFO] [stderr]     Checking solana-packet v2.2.1
[INFO] [stderr]     Checking number_prefix v0.4.0
[INFO] [stderr]     Checking lru-slab v0.1.2
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]     Checking spl-type-length-value v0.5.0
[INFO] [stderr]     Checking indicatif v0.17.11
[INFO] [stderr]     Checking x509-parser v0.14.0
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking solana-net-utils v2.3.13
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]     Checking spl-type-length-value v0.8.0
[INFO] [stderr]     Checking webpki-roots v0.24.0
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]    Compiling spl-program-error-derive v0.5.0
[INFO] [stderr]    Compiling ark-ff-macros v0.4.2
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]     Checking spinning_top v0.3.0
[INFO] [stderr]     Checking nonzero_ext v0.3.0
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking no-std-compat v0.4.1
[INFO] [stderr]     Checking humantime v2.3.0
[INFO] [stderr]     Checking solana-security-txt v1.1.2
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]     Checking spl-program-error v0.7.0
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking percentage v0.1.0
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking pem v1.1.1
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking solana-hard-forks v2.2.1
[INFO] [stderr]     Checking env_logger v0.9.3
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking histogram v0.6.9
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.7.1
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking solana-tls-utils v2.3.13
[INFO] [stderr]     Checking quinn-proto v0.11.19
[INFO] [stderr]     Checking solana-shred-version v2.2.1
[INFO] [stderr]     Checking spl-tlv-account-resolution v0.10.0
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]     Checking ark-ff v0.4.2
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking spl-tlv-account-resolution v0.7.0
[INFO] [stderr]     Checking spl-token-confidential-transfer-proof-extraction v0.3.0
[INFO] [stderr]     Checking solana-logger v2.3.1
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]     Checking solana-poh-config v2.2.1
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking spl-transfer-hook-interface v0.7.0
[INFO] [stderr]     Checking quanta v0.12.6
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking governor v0.6.3
[INFO] [stderr]     Checking spl-elgamal-registry v0.2.0
[INFO] [stderr]     Checking tokio-tungstenite v0.20.1
[INFO] [stderr]     Checking spl-transfer-hook-interface v0.10.0
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking spl-token-metadata-interface v0.7.0
[INFO] [stderr]     Checking spl-token-metadata-interface v0.4.0
[INFO] [stderr]     Checking spl-token-group-interface v0.3.0
[INFO] [stderr]     Checking spl-memo v5.0.0
[INFO] [stderr]     Checking solana-genesis-config v2.3.0
[INFO] [stderr]     Checking spl-token v6.0.0
[INFO] [stderr]     Checking spl-token-group-interface v0.6.0
[INFO] [stderr]     Checking spl-token-confidential-transfer-proof-generation v0.4.1
[INFO] [stderr]     Checking spl-token-confidential-transfer-ciphertext-arithmetic v0.3.1
[INFO] [stderr]     Checking spl-token v8.0.0
[INFO] [stderr]     Checking spl-memo v6.0.0
[INFO] [stderr]     Checking kaigan v0.2.6
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking pin-project v1.1.11
[INFO] [stderr]     Checking solana-define-syscall v2.3.0
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking yaml-rust2 v0.8.1
[INFO] [stderr]     Checking solana-config-program-client v0.0.2
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking solana-epoch-rewards-hasher v2.2.1
[INFO] [stderr]     Checking inotify v0.11.1
[INFO] [stderr]     Checking spl-token-2022 v4.0.1
[INFO] [stderr]     Checking solana-rent-collector v2.3.0
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]     Checking spl-token-2022 v8.0.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking rust-ini v0.20.0
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]     Checking solana-offchain-message v2.2.1
[INFO] [stderr]     Checking solana-nonce-account v2.2.1
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking Inflector v0.11.4
[INFO] [stderr]     Checking solana-fee-structure v2.3.0
[INFO] [stderr]     Checking solana-reserved-account-keys v2.2.2
[INFO] [stderr]     Checking solana-presigner v2.2.1
[INFO] [stderr]     Checking solana-compute-budget-interface v2.2.2
[INFO] [stderr]     Checking solana-rent-debits v2.2.1
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking salsa20 v0.10.2
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking notify-types v2.1.0
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking solana-validator-exit v2.2.1
[INFO] [stderr]     Checking rustls-native-certs v0.7.3
[INFO] [stderr]     Checking scrypt v0.11.0
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking lru v0.18.5
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking arc-swap v1.8.2
[INFO] [stderr]     Checking notify v8.2.0
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking prost v0.13.5
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking hyper-timeout v0.5.2
[INFO] [stderr]     Checking spl-associated-token-account v4.0.0
[INFO] [stderr]     Checking prost-types v0.13.5
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking mpl-token-metadata v5.1.1
[INFO] [stderr]     Checking config v0.14.1
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking solana-account-decoder-client-types v2.3.13
[INFO] [stderr]     Checking solana-metrics v2.3.13
[INFO] [stderr]     Checking reqwest-middleware v0.4.2
[INFO] [stderr]     Checking solana-connection-cache v2.3.13
[INFO] [stderr]     Checking solana-transaction-metrics-tracker v2.3.13
[INFO] [stderr]     Checking ark-poly v0.4.2
[INFO] [stderr]     Checking solana-streamer v2.3.13
[INFO] [stderr]     Checking solana-account-decoder v2.3.13
[INFO] [stderr]     Checking solana-udp-client v2.3.13
[INFO] [stderr]     Checking ark-ec v0.4.2
[INFO] [stderr]     Checking tonic v0.12.3
[INFO] [stderr]     Checking ark-bn254 v0.4.0
[INFO] [stderr]     Checking solana-bn254 v2.2.2
[INFO] [stderr]     Checking solana-secp256r1-program v2.2.4
[INFO] [stderr]     Checking solana-precompiles v2.2.2
[INFO] [stderr]     Checking solana-transaction v2.2.3
[INFO] [stderr]     Checking solana-transaction-status-client-types v2.3.13
[INFO] [stderr]     Checking solana-client-traits v2.2.1
[INFO] [stderr]     Checking solana-system-transaction v2.2.1
[INFO] [stderr]     Checking solana-sdk v2.3.1
[INFO] [stderr]     Checking solana-rpc-client-types v2.3.13
[INFO] [stderr]     Checking solana-rpc-client-api v2.3.13
[INFO] [stderr]     Checking solana-pubsub-client v2.3.13
[INFO] [stderr]     Checking solana-rpc-client v2.3.13
[INFO] [stderr]     Checking solana-quic-client v2.3.13
[INFO] [stderr]     Checking solana-rpc-client-nonce-utils v2.3.13
[INFO] [stderr]     Checking solana-tpu-client v2.3.13
[INFO] [stderr]     Checking solana-thin-client v2.3.13
[INFO] [stderr]     Checking solana-client v2.3.13
[INFO] [stderr]     Checking same_block_sniper v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/geyser_listener.rs:854:5
[INFO] [stdout]     |
[INFO] [stdout] 854 | /     /// Check a single instruction for PumpSwap buy/sell.
[INFO] [stdout] 855 | |     /// Returns (buy_info, sell_info) where buy carries pumpswap account strings.
[INFO] [stdout]     | |_________________________________________________________________________________^
[INFO] [stdout] 856 | /     let check_pumpswap_ix = |program_id_index: u32, data: &[u8], accounts: &[u8]|
[INFO] [stdout] 857 | |         -> (Option<(String, Option<u64>, Option<f64>, String, Vec<String>)>,
[INFO] [stdout] 858 | |             Option<(String, Option<u64>, Option<f64>)>)
[INFO] [stdout] ...   |
[INFO] [stdout] 916 | |     };
[INFO] [stdout]     | |______- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/leader_cache.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::str::FromStr;
[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: `build_missing_ata_preinstructions`, `detect_idl_for_mint`, and `detect_token_program_for_mint`
[INFO] [stdout]  --> src/buyer.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | ...::{detect_idl_for_mint, fetch_bonding_curve_creator, build_missing_ata_preinstructions, fetch_with_fallback, detect_token_program_for_mint, f...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LeaderCache`
[INFO] [stdout]   --> src/swqos_sender.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::leader_cache::{CachedLeader, LeaderCache};
[INFO] [stdout]    |                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::onchain_idl::get_instruction_discriminator`
[INFO] [stdout]    --> src/rpc.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | use crate::onchain_idl::get_instruction_discriminator;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/rug_guard.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/geyser_listener.rs:854:5
[INFO] [stdout]     |
[INFO] [stdout] 854 | /     /// Check a single instruction for PumpSwap buy/sell.
[INFO] [stdout] 855 | |     /// Returns (buy_info, sell_info) where buy carries pumpswap account strings.
[INFO] [stdout]     | |_________________________________________________________________________________^
[INFO] [stdout] 856 | /     let check_pumpswap_ix = |program_id_index: u32, data: &[u8], accounts: &[u8]|
[INFO] [stdout] 857 | |         -> (Option<(String, Option<u64>, Option<f64>, String, Vec<String>)>,
[INFO] [stdout] 858 | |             Option<(String, Option<u64>, Option<f64>)>)
[INFO] [stdout] ...   |
[INFO] [stdout] 916 | |     };
[INFO] [stdout]     | |______- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/leader_cache.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::str::FromStr;
[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: `build_missing_ata_preinstructions`, `detect_idl_for_mint`, and `detect_token_program_for_mint`
[INFO] [stdout]  --> src/buyer.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | ...::{detect_idl_for_mint, fetch_bonding_curve_creator, build_missing_ata_preinstructions, fetch_with_fallback, detect_token_program_for_mint, f...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LeaderCache`
[INFO] [stdout]   --> src/swqos_sender.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::leader_cache::{CachedLeader, LeaderCache};
[INFO] [stdout]    |                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::onchain_idl::get_instruction_discriminator`
[INFO] [stdout]    --> src/rpc.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | use crate::onchain_idl::get_instruction_discriminator;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `buyer::BuyerConstants`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:57:6
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl BuyerConstants {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `buyer::BuyerConstants`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:57:6
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl BuyerConstants {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::global`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:294:43
[INFO] [stdout]     |
[INFO] [stdout] 294 |                 AccountMeta::new_readonly(consts.global, false),               // [0]  global
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::event_authority`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:304:43
[INFO] [stdout]     |
[INFO] [stdout] 304 |                 AccountMeta::new_readonly(consts.event_authority, false),      // [10] eventAuthority
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::pump_program`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:305:43
[INFO] [stdout]     |
[INFO] [stdout] 305 |                 AccountMeta::new_readonly(consts.pump_program, false),         // [11] pumpProgram
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::global_volume_acc`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:306:34
[INFO] [stdout]     |
[INFO] [stdout] 306 |                 AccountMeta::new(consts.global_volume_acc, false),             // [12] globalVolumeAccumulator (writable)
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::user_volume_acc`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:307:34
[INFO] [stdout]     |
[INFO] [stdout] 307 |                 AccountMeta::new(consts.user_volume_acc, false),               // [13] userVolumeAccumulator (writable)
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::fee_config`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:308:43
[INFO] [stdout]     |
[INFO] [stdout] 308 |                 AccountMeta::new_readonly(consts.fee_config, false),           // [14] feeConfig
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::fee_program`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:309:43
[INFO] [stdout]     |
[INFO] [stdout] 309 |                 AccountMeta::new_readonly(consts.fee_program, false),          // [15] feeProgram
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::buy_discriminator`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:312:34
[INFO] [stdout]     |
[INFO] [stdout] 312 |             let mut instr_data = consts.buy_discriminator.to_vec();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::pump_program`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:324:29
[INFO] [stdout]     |
[INFO] [stdout] 324 |                 program_id: consts.pump_program,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::global`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:294:43
[INFO] [stdout]     |
[INFO] [stdout] 294 |                 AccountMeta::new_readonly(consts.global, false),               // [0]  global
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::event_authority`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:304:43
[INFO] [stdout]     |
[INFO] [stdout] 304 |                 AccountMeta::new_readonly(consts.event_authority, false),      // [10] eventAuthority
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::pump_program`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:305:43
[INFO] [stdout]     |
[INFO] [stdout] 305 |                 AccountMeta::new_readonly(consts.pump_program, false),         // [11] pumpProgram
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::global_volume_acc`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:306:34
[INFO] [stdout]     |
[INFO] [stdout] 306 |                 AccountMeta::new(consts.global_volume_acc, false),             // [12] globalVolumeAccumulator (writable)
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::user_volume_acc`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:307:34
[INFO] [stdout]     |
[INFO] [stdout] 307 |                 AccountMeta::new(consts.user_volume_acc, false),               // [13] userVolumeAccumulator (writable)
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::fee_config`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:308:43
[INFO] [stdout]     |
[INFO] [stdout] 308 |                 AccountMeta::new_readonly(consts.fee_config, false),           // [14] feeConfig
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::fee_program`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:309:43
[INFO] [stdout]     |
[INFO] [stdout] 309 |                 AccountMeta::new_readonly(consts.fee_program, false),          // [15] feeProgram
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::buy_discriminator`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:312:34
[INFO] [stdout]     |
[INFO] [stdout] 312 |             let mut instr_data = consts.buy_discriminator.to_vec();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::pump_program`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]    --> src/buyer.rs:324:29
[INFO] [stdout]     |
[INFO] [stdout] 324 |                 program_id: consts.pump_program,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::pump_program`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             pump_program: pump_program_pk,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::global`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |             global: Pubkey::from_str("4wTV1YmiEkRvAtNtsSGPtUrqRYQMe5SKy2uB4Jjaxnjf").expect("valid global pubkey literal"),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::fee_recipient`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 | ...   fee_recipient: Pubkey::from_str("62qc2CNXwrYqQScmEdiZFFAnJR262PxWEuNQtxfafNgV").expect("valid fee_recipient pubkey literal"),
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::event_authority`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 | ...   event_authority: Pubkey::from_str("Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1").expect("valid event_authority pubkey literal"),
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::fee_config`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 | /             fee_config: {
[INFO] [stdout] 69 | |                 // P0 fix: derive fee_config from the same seed/program as tx_template.rs
[INFO] [stdout] 70 | |                 // instead of hardcoding a duplicate pubkey literal.
[INFO] [stdout] 71 | |                 let fee_program_pk = Pubkey::from_str(BUYER_FEE_PROGRAM).expect("valid fee_program literal");
[INFO] [stdout] 72 | |                 Pubkey::find_program_address(&[b"fee_config", &BUYER_FEE_CONFIG_SEED], &fee_program_pk).0
[INFO] [stdout] 73 | |             },
[INFO] [stdout]    | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::fee_program`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |             fee_program: Pubkey::from_str("pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ").expect("valid fee_program pubkey literal"),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::global_volume_acc`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 | ...   global_volume_acc: Pubkey::from_str("Hq2wp8uJ9jCPsYgNHex8RtqdvMPfVGoYwjvF1ATiwn2Y").expect("valid global_volume_acc pubkey literal"),
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::user_volume_acc`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |             user_volume_acc,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::token_program`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 | ...   token_program: Pubkey::from_str("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA").expect("valid token_program pubkey literal"),
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::payer`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |             payer: *payer,
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::buy_discriminator`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |             buy_discriminator: crate::onchain_idl::compute_anchor_discriminator("buy"),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::pump_program`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             pump_program: pump_program_pk,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::global`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |             global: Pubkey::from_str("4wTV1YmiEkRvAtNtsSGPtUrqRYQMe5SKy2uB4Jjaxnjf").expect("valid global pubkey literal"),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::fee_recipient`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 | ...   fee_recipient: Pubkey::from_str("62qc2CNXwrYqQScmEdiZFFAnJR262PxWEuNQtxfafNgV").expect("valid fee_recipient pubkey literal"),
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::event_authority`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 | ...   event_authority: Pubkey::from_str("Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1").expect("valid event_authority pubkey literal"),
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::fee_config`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 | /             fee_config: {
[INFO] [stdout] 69 | |                 // P0 fix: derive fee_config from the same seed/program as tx_template.rs
[INFO] [stdout] 70 | |                 // instead of hardcoding a duplicate pubkey literal.
[INFO] [stdout] 71 | |                 let fee_program_pk = Pubkey::from_str(BUYER_FEE_PROGRAM).expect("valid fee_program literal");
[INFO] [stdout] 72 | |                 Pubkey::find_program_address(&[b"fee_config", &BUYER_FEE_CONFIG_SEED], &fee_program_pk).0
[INFO] [stdout] 73 | |             },
[INFO] [stdout]    | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::fee_program`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |             fee_program: Pubkey::from_str("pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ").expect("valid fee_program pubkey literal"),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::global_volume_acc`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 | ...   global_volume_acc: Pubkey::from_str("Hq2wp8uJ9jCPsYgNHex8RtqdvMPfVGoYwjvF1ATiwn2Y").expect("valid global_volume_acc pubkey literal"),
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::user_volume_acc`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |             user_volume_acc,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::token_program`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 | ...   token_program: Pubkey::from_str("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA").expect("valid token_program pubkey literal"),
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::payer`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |             payer: *payer,
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `buyer::BuyerConstants::buy_discriminator`: Use BuyTemplate instead — handles mayhem routing and IDL accounts correctly
[INFO] [stdout]   --> src/buyer.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |             buy_discriminator: crate::onchain_idl::compute_anchor_discriminator("buy"),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_loaded`
[INFO] [stdout]    --> src/position_monitor.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let total_loaded = loaded.len();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_loaded`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_loaded`
[INFO] [stdout]    --> src/position_monitor.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let total_loaded = loaded.len();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_loaded`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_api_key` is never used
[INFO] [stdout]    --> src/api_key_vault.rs:702:18
[INFO] [stdout]     |
[INFO] [stdout] 400 | impl ApiKeyVault {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 702 |     pub async fn get_api_key(&self, slot_id: &str) -> Option<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dex`, `sol_received`, `slot`, `ws_received_at`, and `amm_pool` are never read
[INFO] [stdout]   --> src/copy_engine.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct DetectedSell {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub dex: DexType,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 77 |     /// SOL amount received (if parseable, from balance delta)
[INFO] [stdout] 78 |     pub sol_received: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub slot: Option<u64>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 83 |     /// When the WS notification was received (for end-to-end timing)
[INFO] [stdout] 84 |     pub ws_received_at: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 85 |     /// AMM pool address (for Raydium V4/CPMM trades)
[INFO] [stdout] 86 |     pub amm_pool: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DetectedSell` 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: method `remove_position` is never used
[INFO] [stdout]    --> src/position_monitor.rs:179:18
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl PositionMonitor {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub async fn remove_position(&self, mint: &str) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Confirmed` and `Finalized` are never constructed
[INFO] [stdout]   --> src/geyser_listener.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub enum CommitmentLevel {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 69 |     Processed = 0,
[INFO] [stdout] 70 |     Confirmed = 1,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 71 |     Finalized = 2,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CommitmentLevel` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Init` is never constructed
[INFO] [stdout]   --> src/error.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum AppError {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     Init(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save_to_file` and `merge` are never used
[INFO] [stdout]    --> src/settings.rs:369:12
[INFO] [stdout]     |
[INFO] [stdout] 361 | impl Settings {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub fn save_to_file(&self, path: &str) -> Result<(), AppError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub fn merge(&mut self, other: &Settings) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_keypair_from_env_var` is never used
[INFO] [stdout]    --> src/settings.rs:765:8
[INFO] [stdout]     |
[INFO] [stdout] 765 | pub fn load_keypair_from_env_var(var: &str) -> Option<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOKEN_PROGRAM_PUBKEY` is never used
[INFO] [stdout]   --> src/idl.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const TOKEN_PROGRAM_PUBKEY: &str = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `IdlCache` is never used
[INFO] [stdout]   --> src/onchain_idl.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type IdlCache = Arc<Mutex<HashMap<String, SimpleIdl>>>;
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IDL_CACHE_DIR` is never used
[INFO] [stdout]   --> src/onchain_idl.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const IDL_CACHE_DIR: &str = ".idl_cache";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `derive_idl_account` is never used
[INFO] [stdout]   --> src/onchain_idl.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn derive_idl_account(program_id: &Pubkey) -> (Pubkey, u8) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_idl_account_data` is never used
[INFO] [stdout]   --> src/onchain_idl.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub async fn fetch_idl_account_data(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decompress_idl_data` is never used
[INFO] [stdout]   --> src/onchain_idl.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn decompress_idl_data(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_idl_json` is never used
[INFO] [stdout]   --> src/onchain_idl.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn parse_idl_json(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_onchain_idl` is never used
[INFO] [stdout]   --> src/onchain_idl.rs:95:14
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub async fn fetch_onchain_idl(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_idl_from_disk_cache` is never used
[INFO] [stdout]    --> src/onchain_idl.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn load_idl_from_disk_cache(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_idl_to_disk_cache` is never used
[INFO] [stdout]    --> src/onchain_idl.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn save_idl_to_disk_cache(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_idl_with_cache` is never used
[INFO] [stdout]    --> src/onchain_idl.rs:147:14
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub async fn load_idl_with_cache(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_idl_cache` is never used
[INFO] [stdout]    --> src/onchain_idl.rs:255:8
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub fn new_idl_cache() -> IdlCache {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_pumpfun_idl` is never used
[INFO] [stdout]    --> src/onchain_idl.rs:260:14
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub async fn load_pumpfun_idl(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOKEN_PROGRAM_PUBKEY` is never used
[INFO] [stdout]   --> src/tx_builder.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const TOKEN_PROGRAM_PUBKEY: &str = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUY_DISCRIMINATOR_FALLBACK` is never used
[INFO] [stdout]   --> src/tx_builder.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const BUY_DISCRIMINATOR_FALLBACK: [u8; 8] = [102, 6, 61, 18, 1, 218, 235, 234];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SELL_DISCRIMINATOR_FALLBACK` is never used
[INFO] [stdout]   --> src/tx_builder.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const SELL_DISCRIMINATOR_FALLBACK: [u8; 8] = [51, 230, 133, 164, 1, 127, 131, 173];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUY_DISCRIMINATOR` is never used
[INFO] [stdout]   --> src/tx_builder.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const BUY_DISCRIMINATOR: [u8; 8] = BUY_DISCRIMINATOR_FALLBACK;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SELL_DISCRIMINATOR` is never used
[INFO] [stdout]   --> src/tx_builder.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const SELL_DISCRIMINATOR: [u8; 8] = SELL_DISCRIMINATOR_FALLBACK;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `slot` and `fetched_at` are never read
[INFO] [stdout]   --> src/leader_cache.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct CachedLeader {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 15 |     pub slot: u64,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 16 |     pub leader: Option<Pubkey>,
[INFO] [stdout] 17 |     pub fetched_at: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CachedLeader` 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: associated function `is_own_leader` is never used
[INFO] [stdout]   --> src/leader_cache.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl LeaderCache {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn is_own_leader(
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fee_recipient`, `token_program`, and `payer` are never read
[INFO] [stdout]   --> src/buyer.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct BuyerConstants {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fee_recipient: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub token_program: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 53 |     pub payer: Pubkey,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/raydium_v4.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct AmmInfo {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 38 |     pub status: u64,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 39 |     pub nonce: u64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 40 |     pub order_num: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 41 |     pub depth: u64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub state: u64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 45 |     pub reset_flag: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 46 |     pub min_size: u64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 47 |     pub vol_max_cut_ratio: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub amount_wave: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 49 |     pub coin_lot_size: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 50 |     pub pc_lot_size: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 51 |     pub min_price_multiplier: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     pub max_price_multiplier: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 53 |     pub sys_decimal_value: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     pub fees: Fees,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 55 |     pub out_put: OutPutData,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub lp_mint: Pubkey,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 61 |     pub open_orders: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 62 |     pub market: Pubkey,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 63 |     pub serum_dex: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 64 |     pub target_orders: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 65 |     pub withdraw_queue: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     pub token_temp_lp: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 67 |     pub amm_owner: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 68 |     pub lp_amount: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 69 |     pub client_order_id: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub padding: [u64; 2],
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AmmInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/raydium_v4.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct Fees {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 75 |     pub min_separate_numerator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 76 |     pub min_separate_denominator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 77 |     pub trade_fee_numerator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 78 |     pub trade_fee_denominator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 79 |     pub pnl_numerator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 80 |     pub pnl_denominator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 81 |     pub swap_fee_numerator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     pub swap_fee_denominator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Fees` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/raydium_v4.rs:87:9
[INFO] [stdout]     |
[INFO] [stdout]  86 | pub struct OutPutData {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout]  87 |     pub need_take_pnl_coin: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  88 |     pub need_take_pnl_pc: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]  89 |     pub total_pnl_pc: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]  90 |     pub total_pnl_coin: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]  91 |     pub pool_open_time: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]  92 |     pub punish_pc_amount: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]  93 |     pub punish_coin_amount: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  94 |     pub orderbook_to_init_time: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  95 |     pub swap_coin_in_amount: u128,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  96 |     pub swap_pc_out_amount: u128,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  97 |     pub swap_take_pc_fee: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]  98 |     pub swap_pc_in_amount: u128,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  99 |     pub swap_coin_out_amount: u128,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 100 |     pub swap_take_coin_fee: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OutPutData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/raydium_cpmm.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct CpmmPoolState {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 34 |     pub amm_config: Pubkey,
[INFO] [stdout] 35 |     pub pool_creator: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub lp_mint: Pubkey,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub auth_bump: u8,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 45 |     pub status: u8,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 46 |     pub lp_mint_decimals: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     pub mint0_decimals: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub mint1_decimals: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 49 |     pub lp_supply: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 50 |     pub protocol_fees_token0: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 51 |     pub protocol_fees_token1: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     pub fund_fees_token0: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 53 |     pub fund_fees_token1: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     pub open_time: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 55 |     pub recent_epoch: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 56 |     pub padding: [u64; 31],
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CpmmPoolState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rent_sysvar` and `compute_unit_limit` are never read
[INFO] [stdout]   --> src/tx_template.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct BuyTemplate {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub rent_sysvar: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub compute_unit_limit: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `build_buy_tx` is never used
[INFO] [stdout]    --> src/tx_template.rs:220:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl BuyTemplate {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn build_buy_tx(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ZEROSLOT_TIP_ACCOUNTS` is never used
[INFO] [stdout]   --> src/swqos_sender.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const ZEROSLOT_TIP_ACCOUNTS: &[Pubkey] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEMPORAL_TIP_ACCOUNTS` is never used
[INFO] [stdout]   --> src/swqos_sender.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const TEMPORAL_TIP_ACCOUNTS: &[Pubkey] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `quic_endpoints` is never read
[INFO] [stdout]    --> src/swqos_sender.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     Bloxroute {
[INFO] [stdout]     |     --------- field in this variant
[INFO] [stdout] 162 |         http_url: String,
[INFO] [stdout] 163 |         quic_endpoints: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SwqosProvider` 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: field `leader_mapping` is never read
[INFO] [stdout]    --> src/swqos_sender.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub struct SwqosSender {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 249 |     leader_mapping: LeaderMapping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PUMPSWAP_GLOBAL_CONFIG` is never used
[INFO] [stdout]   --> src/pumpswap.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const PUMPSWAP_GLOBAL_CONFIG: &str = "ADyA8hdefvWN2dbGGWFotbzWxrAvLW83WG6QCVXvJKqw";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PUMP_CREATE_DISCRIMINATOR` is never used
[INFO] [stdout]   --> src/rpc.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const PUMP_CREATE_DISCRIMINATOR: [u8; 8] = [24, 30, 200, 40, 5, 28, 7, 119];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PumpCreateData` is never constructed
[INFO] [stdout]   --> src/rpc.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct PumpCreateData {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_extract_pump_create_data` is never used
[INFO] [stdout]   --> src/rpc.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn try_extract_pump_create_data(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_holder_address` is never used
[INFO] [stdout]   --> src/rpc.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn compute_holder_address(owner: &str, mint: &str) -> Result<String, Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_pump_create_data` is never used
[INFO] [stdout]    --> src/rpc.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn process_pump_create_data(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `decimals` is never read
[INFO] [stdout]    --> src/rpc.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct PriceFetchResult {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub decimals: u8,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_transaction_details` is never used
[INFO] [stdout]    --> src/rpc.rs:328:14
[INFO] [stdout]     |
[INFO] [stdout] 328 | pub async fn fetch_transaction_details(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_token_metadata` is never used
[INFO] [stdout]    --> src/rpc.rs:441:14
[INFO] [stdout]     |
[INFO] [stdout] 441 | pub async fn fetch_token_metadata(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `price_from_reserves` is never used
[INFO] [stdout]     --> src/rpc.rs:1062:14
[INFO] [stdout]      |
[INFO] [stdout] 1062 | pub async fn price_from_reserves(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_idl_for_mint` is never used
[INFO] [stdout]     --> src/rpc.rs:1082:14
[INFO] [stdout]      |
[INFO] [stdout] 1082 | pub async fn detect_idl_for_mint(mint: &str, rpc_client: &Arc<RpcClient>, settings: &Arc<Settings>) -> Option<SimpleIdl> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_missing_ata_preinstructions` is never used
[INFO] [stdout]     --> src/rpc.rs:1102:14
[INFO] [stdout]      |
[INFO] [stdout] 1102 | pub async fn build_missing_ata_preinstructions(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_global_fee_recipient` is never used
[INFO] [stdout]     --> src/rpc.rs:1270:14
[INFO] [stdout]      |
[INFO] [stdout] 1270 | pub async fn fetch_global_fee_recipient(rpc_client: &Arc<RpcClient>, settings: &Arc<Settings>) -> Result<Pubkey, Box<dyn std::erro...
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tx_fee_sol` is never read
[INFO] [stdout]     --> src/rpc.rs:1519:9
[INFO] [stdout]      |
[INFO] [stdout] 1515 | pub struct SellResult {
[INFO] [stdout]      |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1519 |     pub tx_fee_sol: Option<f64>,
[INFO] [stdout]      |         ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SellResult` 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: structure field `N` should have a snake case name
[INFO] [stdout]    --> src/api_key_vault.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub N: u32,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `n`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/api_key_vault.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |         scrypt(passphrase, salt, &params, &mut key);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 568 |         let _ = scrypt(passphrase, salt, &params, &mut key);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dex`, `sol_received`, `slot`, `ws_received_at`, and `amm_pool` are never read
[INFO] [stdout]   --> src/copy_engine.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct DetectedSell {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub dex: DexType,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 77 |     /// SOL amount received (if parseable, from balance delta)
[INFO] [stdout] 78 |     pub sol_received: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub slot: Option<u64>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 83 |     /// When the WS notification was received (for end-to-end timing)
[INFO] [stdout] 84 |     pub ws_received_at: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 85 |     /// AMM pool address (for Raydium V4/CPMM trades)
[INFO] [stdout] 86 |     pub amm_pool: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DetectedSell` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_position` is never used
[INFO] [stdout]    --> src/position_monitor.rs:179:18
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl PositionMonitor {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub async fn remove_position(&self, mint: &str) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Confirmed` and `Finalized` are never constructed
[INFO] [stdout]   --> src/geyser_listener.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub enum CommitmentLevel {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 69 |     Processed = 0,
[INFO] [stdout] 70 |     Confirmed = 1,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 71 |     Finalized = 2,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CommitmentLevel` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Init` is never constructed
[INFO] [stdout]   --> src/error.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum AppError {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     Init(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save_to_file` and `merge` are never used
[INFO] [stdout]    --> src/settings.rs:369:12
[INFO] [stdout]     |
[INFO] [stdout] 361 | impl Settings {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub fn save_to_file(&self, path: &str) -> Result<(), AppError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub fn merge(&mut self, other: &Settings) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_keypair_from_env_var` is never used
[INFO] [stdout]    --> src/settings.rs:765:8
[INFO] [stdout]     |
[INFO] [stdout] 765 | pub fn load_keypair_from_env_var(var: &str) -> Option<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOKEN_PROGRAM_PUBKEY` is never used
[INFO] [stdout]   --> src/idl.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const TOKEN_PROGRAM_PUBKEY: &str = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `IdlCache` is never used
[INFO] [stdout]   --> src/onchain_idl.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type IdlCache = Arc<Mutex<HashMap<String, SimpleIdl>>>;
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IDL_CACHE_DIR` is never used
[INFO] [stdout]   --> src/onchain_idl.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const IDL_CACHE_DIR: &str = ".idl_cache";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_idl_account_data` is never used
[INFO] [stdout]   --> src/onchain_idl.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub async fn fetch_idl_account_data(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decompress_idl_data` is never used
[INFO] [stdout]   --> src/onchain_idl.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn decompress_idl_data(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_idl_json` is never used
[INFO] [stdout]   --> src/onchain_idl.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn parse_idl_json(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_onchain_idl` is never used
[INFO] [stdout]   --> src/onchain_idl.rs:95:14
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub async fn fetch_onchain_idl(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_idl_from_disk_cache` is never used
[INFO] [stdout]    --> src/onchain_idl.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn load_idl_from_disk_cache(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_idl_to_disk_cache` is never used
[INFO] [stdout]    --> src/onchain_idl.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn save_idl_to_disk_cache(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_idl_with_cache` is never used
[INFO] [stdout]    --> src/onchain_idl.rs:147:14
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub async fn load_idl_with_cache(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_idl_cache` is never used
[INFO] [stdout]    --> src/onchain_idl.rs:255:8
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub fn new_idl_cache() -> IdlCache {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_pumpfun_idl` is never used
[INFO] [stdout]    --> src/onchain_idl.rs:260:14
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub async fn load_pumpfun_idl(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOKEN_PROGRAM_PUBKEY` is never used
[INFO] [stdout]   --> src/tx_builder.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const TOKEN_PROGRAM_PUBKEY: &str = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUY_DISCRIMINATOR_FALLBACK` is never used
[INFO] [stdout]   --> src/tx_builder.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const BUY_DISCRIMINATOR_FALLBACK: [u8; 8] = [102, 6, 61, 18, 1, 218, 235, 234];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SELL_DISCRIMINATOR_FALLBACK` is never used
[INFO] [stdout]   --> src/tx_builder.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const SELL_DISCRIMINATOR_FALLBACK: [u8; 8] = [51, 230, 133, 164, 1, 127, 131, 173];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUY_DISCRIMINATOR` is never used
[INFO] [stdout]   --> src/tx_builder.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const BUY_DISCRIMINATOR: [u8; 8] = BUY_DISCRIMINATOR_FALLBACK;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SELL_DISCRIMINATOR` is never used
[INFO] [stdout]   --> src/tx_builder.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const SELL_DISCRIMINATOR: [u8; 8] = SELL_DISCRIMINATOR_FALLBACK;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fee_recipient`, `token_program`, and `payer` are never read
[INFO] [stdout]   --> src/buyer.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct BuyerConstants {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fee_recipient: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub token_program: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 53 |     pub payer: Pubkey,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/raydium_v4.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct AmmInfo {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 38 |     pub status: u64,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 39 |     pub nonce: u64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 40 |     pub order_num: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 41 |     pub depth: u64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub state: u64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 45 |     pub reset_flag: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 46 |     pub min_size: u64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 47 |     pub vol_max_cut_ratio: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub amount_wave: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 49 |     pub coin_lot_size: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 50 |     pub pc_lot_size: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 51 |     pub min_price_multiplier: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     pub max_price_multiplier: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 53 |     pub sys_decimal_value: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     pub fees: Fees,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 55 |     pub out_put: OutPutData,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub lp_mint: Pubkey,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 61 |     pub open_orders: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 62 |     pub market: Pubkey,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 63 |     pub serum_dex: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 64 |     pub target_orders: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 65 |     pub withdraw_queue: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     pub token_temp_lp: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 67 |     pub amm_owner: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 68 |     pub lp_amount: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 69 |     pub client_order_id: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub padding: [u64; 2],
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AmmInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/raydium_v4.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct Fees {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 75 |     pub min_separate_numerator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 76 |     pub min_separate_denominator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 77 |     pub trade_fee_numerator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 78 |     pub trade_fee_denominator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 79 |     pub pnl_numerator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 80 |     pub pnl_denominator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 81 |     pub swap_fee_numerator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     pub swap_fee_denominator: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Fees` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/raydium_v4.rs:87:9
[INFO] [stdout]     |
[INFO] [stdout]  86 | pub struct OutPutData {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout]  87 |     pub need_take_pnl_coin: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  88 |     pub need_take_pnl_pc: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]  89 |     pub total_pnl_pc: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]  90 |     pub total_pnl_coin: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]  91 |     pub pool_open_time: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]  92 |     pub punish_pc_amount: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]  93 |     pub punish_coin_amount: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  94 |     pub orderbook_to_init_time: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  95 |     pub swap_coin_in_amount: u128,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  96 |     pub swap_pc_out_amount: u128,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  97 |     pub swap_take_pc_fee: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]  98 |     pub swap_pc_in_amount: u128,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  99 |     pub swap_coin_out_amount: u128,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 100 |     pub swap_take_coin_fee: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OutPutData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/raydium_cpmm.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct CpmmPoolState {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 34 |     pub amm_config: Pubkey,
[INFO] [stdout] 35 |     pub pool_creator: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub lp_mint: Pubkey,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub auth_bump: u8,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 45 |     pub status: u8,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 46 |     pub lp_mint_decimals: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     pub mint0_decimals: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub mint1_decimals: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 49 |     pub lp_supply: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 50 |     pub protocol_fees_token0: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 51 |     pub protocol_fees_token1: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     pub fund_fees_token0: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 53 |     pub fund_fees_token1: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     pub open_time: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 55 |     pub recent_epoch: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 56 |     pub padding: [u64; 31],
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CpmmPoolState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rent_sysvar` and `compute_unit_limit` are never read
[INFO] [stdout]   --> src/tx_template.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct BuyTemplate {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub rent_sysvar: Pubkey,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub compute_unit_limit: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `build_buy_tx` is never used
[INFO] [stdout]    --> src/tx_template.rs:220:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl BuyTemplate {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn build_buy_tx(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ZEROSLOT_TIP_ACCOUNTS` is never used
[INFO] [stdout]   --> src/swqos_sender.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const ZEROSLOT_TIP_ACCOUNTS: &[Pubkey] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEMPORAL_TIP_ACCOUNTS` is never used
[INFO] [stdout]   --> src/swqos_sender.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const TEMPORAL_TIP_ACCOUNTS: &[Pubkey] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `quic_endpoints` is never read
[INFO] [stdout]    --> src/swqos_sender.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     Bloxroute {
[INFO] [stdout]     |     --------- field in this variant
[INFO] [stdout] 162 |         http_url: String,
[INFO] [stdout] 163 |         quic_endpoints: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SwqosProvider` 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: field `leader_mapping` is never read
[INFO] [stdout]    --> src/swqos_sender.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub struct SwqosSender {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 249 |     leader_mapping: LeaderMapping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PUMPSWAP_GLOBAL_CONFIG` is never used
[INFO] [stdout]   --> src/pumpswap.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const PUMPSWAP_GLOBAL_CONFIG: &str = "ADyA8hdefvWN2dbGGWFotbzWxrAvLW83WG6QCVXvJKqw";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PUMP_CREATE_DISCRIMINATOR` is never used
[INFO] [stdout]   --> src/rpc.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const PUMP_CREATE_DISCRIMINATOR: [u8; 8] = [24, 30, 200, 40, 5, 28, 7, 119];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PumpCreateData` is never constructed
[INFO] [stdout]   --> src/rpc.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct PumpCreateData {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_extract_pump_create_data` is never used
[INFO] [stdout]   --> src/rpc.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn try_extract_pump_create_data(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_holder_address` is never used
[INFO] [stdout]   --> src/rpc.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn compute_holder_address(owner: &str, mint: &str) -> Result<String, Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_pump_create_data` is never used
[INFO] [stdout]    --> src/rpc.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn process_pump_create_data(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `decimals` is never read
[INFO] [stdout]    --> src/rpc.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct PriceFetchResult {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub decimals: u8,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_transaction_details` is never used
[INFO] [stdout]    --> src/rpc.rs:328:14
[INFO] [stdout]     |
[INFO] [stdout] 328 | pub async fn fetch_transaction_details(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_token_metadata` is never used
[INFO] [stdout]    --> src/rpc.rs:441:14
[INFO] [stdout]     |
[INFO] [stdout] 441 | pub async fn fetch_token_metadata(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `price_from_reserves` is never used
[INFO] [stdout]     --> src/rpc.rs:1062:14
[INFO] [stdout]      |
[INFO] [stdout] 1062 | pub async fn price_from_reserves(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_idl_for_mint` is never used
[INFO] [stdout]     --> src/rpc.rs:1082:14
[INFO] [stdout]      |
[INFO] [stdout] 1082 | pub async fn detect_idl_for_mint(mint: &str, rpc_client: &Arc<RpcClient>, settings: &Arc<Settings>) -> Option<SimpleIdl> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_missing_ata_preinstructions` is never used
[INFO] [stdout]     --> src/rpc.rs:1102:14
[INFO] [stdout]      |
[INFO] [stdout] 1102 | pub async fn build_missing_ata_preinstructions(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_global_fee_recipient` is never used
[INFO] [stdout]     --> src/rpc.rs:1270:14
[INFO] [stdout]      |
[INFO] [stdout] 1270 | pub async fn fetch_global_fee_recipient(rpc_client: &Arc<RpcClient>, settings: &Arc<Settings>) -> Result<Pubkey, Box<dyn std::erro...
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tx_fee_sol` is never read
[INFO] [stdout]     --> src/rpc.rs:1519:9
[INFO] [stdout]      |
[INFO] [stdout] 1515 | pub struct SellResult {
[INFO] [stdout]      |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1519 |     pub tx_fee_sol: Option<f64>,
[INFO] [stdout]      |         ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SellResult` 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: structure field `N` should have a snake case name
[INFO] [stdout]    --> src/api_key_vault.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub N: u32,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `n`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/api_key_vault.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |         scrypt(passphrase, salt, &params, &mut key);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 568 |         let _ = scrypt(passphrase, salt, &params, &mut key);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `prost-types`
[INFO] [stderr]   --> Cargo.toml:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | prost-types = "0.13"
[INFO] [stderr]    | ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `prost-types`
[INFO] [stderr] warning: unused dependency `solana-account-decoder`
[INFO] [stderr]   --> Cargo.toml:26:1
[INFO] [stderr]    |
[INFO] [stderr] 26 | solana-account-decoder = "2.1"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `solana-account-decoder`
[INFO] [stderr] warning: `same_block_sniper` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 54s
[INFO] running `Command { std: "docker" "inspect" "d88fa8530d35be9fbee4c24452b0bf7c694c15d111cbfdbaeb06ebd60d312dc6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d88fa8530d35be9fbee4c24452b0bf7c694c15d111cbfdbaeb06ebd60d312dc6", kill_on_drop: false }`
[INFO] [stdout] d88fa8530d35be9fbee4c24452b0bf7c694c15d111cbfdbaeb06ebd60d312dc6
