[INFO] cloning repository https://github.com/zhaochengpro/flashbot-solana
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zhaochengpro/flashbot-solana" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhaochengpro%2Fflashbot-solana", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhaochengpro%2Fflashbot-solana'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 791d2c88424359a45e120039d5af7ee7f828790b
[INFO] checking zhaochengpro/flashbot-solana against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhaochengpro%2Fflashbot-solana" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/zhaochengpro/flashbot-solana
[INFO] finished tweaking git repo https://github.com/zhaochengpro/flashbot-solana
[INFO] tweaked toml for git repo https://github.com/zhaochengpro/flashbot-solana written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zhaochengpro/flashbot-solana on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zhaochengpro/flashbot-solana 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /workspace/builds/worker-1-tc1/source/programs/flashbot-solana/Cargo.toml
[INFO] [stderr] workspace: /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] [stderr]     Updating git repository `https://github.com/raydium-io/parity-common`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bytemuck_derive v1.10.0
[INFO] [stderr]   Downloaded spl-transfer-hook-interface v0.10.0
[INFO] [stderr]   Downloaded spl-type-length-value v0.8.0
[INFO] [stderr]   Downloaded spl-program-error-derive v0.5.0
[INFO] [stderr]   Downloaded spl-token-confidential-transfer-ciphertext-arithmetic v0.3.0
[INFO] [stderr]   Downloaded spl-token-group-interface v0.6.0
[INFO] [stderr]   Downloaded spl-token-confidential-transfer-proof-extraction v0.4.0
[INFO] [stderr]   Downloaded solana-curve25519 v2.3.5
[INFO] [stderr]   Downloaded spl-elgamal-registry v0.3.0
[INFO] [stderr]   Downloaded solana-vote-interface v2.2.6
[INFO] [stderr]   Downloaded spl-token-confidential-transfer-proof-generation v0.4.0
[INFO] [stderr]   Downloaded spl-token-metadata-interface v0.7.0
[INFO] [stderr]   Downloaded spl-tlv-account-resolution v0.10.0
[INFO] [stderr]   Downloaded spl-program-error v0.7.0
[INFO] [stderr]   Downloaded ruint v1.15.0
[INFO] [stderr]   Downloaded mpl-token-metadata v5.1.0
[INFO] [stderr]   Downloaded spl-token-2022 v9.0.0
[INFO] [stderr]   Downloaded solana-zk-sdk v2.3.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 059d75ae5bc54cba8df0e6ff215dbd8ef71371442ecd3b764ee607473ade1e04
[INFO] running `Command { std: "docker" "start" "-a" "059d75ae5bc54cba8df0e6ff215dbd8ef71371442ecd3b764ee607473ade1e04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "059d75ae5bc54cba8df0e6ff215dbd8ef71371442ecd3b764ee607473ade1e04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "059d75ae5bc54cba8df0e6ff215dbd8ef71371442ecd3b764ee607473ade1e04", kill_on_drop: false }`
[INFO] [stdout] 059d75ae5bc54cba8df0e6ff215dbd8ef71371442ecd3b764ee607473ade1e04
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 17358c782a069fc864638fc1c033e20c75feb7b5438cf9c3e9f46992caa985cb
[INFO] running `Command { std: "docker" "start" "-a" "17358c782a069fc864638fc1c033e20c75feb7b5438cf9c3e9f46992caa985cb", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/programs/flashbot-solana/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]     Checking cfg-if v1.0.1
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling winnow v0.7.12
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling borsh v1.5.7
[INFO] [stderr]     Checking five8_core v0.1.2
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking solana-sanitize v2.2.1
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking solana-atomic-u64 v2.2.1
[INFO] [stderr]     Checking five8 v0.2.1
[INFO] [stderr]     Checking five8_const v0.1.4
[INFO] [stderr]     Checking solana-decode-error v2.3.0
[INFO] [stderr]     Checking solana-msg v2.2.1
[INFO] [stderr]    Compiling serde_json v1.0.141
[INFO] [stderr]    Compiling bs58 v0.5.1
[INFO] [stderr]     Checking keccak v0.1.5
[INFO] [stderr]     Checking solana-program-memory v2.3.1
[INFO] [stderr]     Checking qstring v0.7.2
[INFO] [stderr]     Checking uriparse v0.6.4
[INFO] [stderr]     Checking derivation-path v0.2.0
[INFO] [stderr]     Checking solana-signature v2.3.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking solana-program-option v2.2.1
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling feature-probe v0.1.1
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling cc v1.2.30
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling bv v0.11.1
[INFO] [stderr]     Checking constant_time_eq v0.3.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking solana-native-token v2.3.0
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling libsecp256k1-core v0.2.2
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]     Checking solana-derivation-path v2.2.1
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking solana-seed-derivable v2.2.1
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]    Compiling rustversion v1.0.21
[INFO] [stderr]     Checking solana-security-txt v1.1.1
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling az v1.2.1
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]    Compiling fixed v1.29.0
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking pbkdf2 v0.11.0
[INFO] [stderr]     Checking half v2.6.0
[INFO] [stderr]    Compiling ruint-macro v1.2.1
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking safe-transmute v0.11.3
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.2.1
[INFO] [stderr]     Checking solana-seed-phrase v2.2.1
[INFO] [stderr]     Checking solana-big-mod-exp v2.2.1
[INFO] [stderr]     Checking uint v0.9.5 (https://github.com/raydium-io/parity-common#43a0303b)
[INFO] [stderr]     Checking ruint v1.15.0
[INFO] [stderr]    Compiling libsecp256k1 v0.6.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling borsh-derive-internal v0.10.4
[INFO] [stderr]    Compiling borsh-schema-derive-internal v0.10.4
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling anchor-derive-space v0.31.1
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling bytemuck_derive v1.10.0
[INFO] [stderr]    Compiling borsh-derive v1.5.7
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling solana-sdk-macro v2.2.1
[INFO] [stderr]    Compiling num_enum_derive v0.7.4
[INFO] [stderr]    Compiling spl-program-error-derive v0.4.1
[INFO] [stderr]    Compiling spl-program-error-derive v0.5.0
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]     Checking merlin v3.0.0
[INFO] [stderr]     Checking aes-gcm-siv v0.11.1
[INFO] [stderr]     Checking num_enum v0.7.4
[INFO] [stderr]     Checking thiserror v2.0.12
[INFO] [stderr]     Checking bytemuck v1.23.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling spl-discriminator-syn v0.2.0
[INFO] [stderr]    Compiling spl-discriminator-derive v0.2.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling anchor-lang-idl-spec v0.1.0
[INFO] [stderr]     Checking solana-hash v2.3.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking solana-fee-calculator v2.2.1
[INFO] [stderr]     Checking serde_bytes v0.11.17
[INFO] [stderr]     Checking solana-short-vec v2.2.1
[INFO] [stderr]     Checking solana-serde-varint v2.2.2
[INFO] [stderr]     Checking solana-sha256-hasher v2.2.1
[INFO] [stderr]     Checking solana-keccak-hasher v2.2.1
[INFO] [stderr]     Checking solana-blake3-hasher v2.2.1
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]    Compiling anchor-syn v0.31.1
[INFO] [stderr]    Compiling anchor-lang-idl v0.1.2
[INFO] [stderr]    Compiling borsh-derive v0.10.4
[INFO] [stderr]     Checking solana-curve25519 v2.3.5
[INFO] [stderr]     Checking borsh v0.10.4
[INFO] [stderr]     Checking solana-pubkey v2.4.0
[INFO] [stderr]     Checking solana-borsh v2.2.1
[INFO] [stderr]     Checking solana-instruction v2.3.0
[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-clock v2.2.2
[INFO] [stderr]     Checking solana-slot-hashes v2.2.1
[INFO] [stderr]     Checking solana-rent v2.2.1
[INFO] [stderr]     Checking solana-slot-history v2.2.1
[INFO] [stderr]     Checking solana-last-restart-slot v2.2.1
[INFO] [stderr]     Checking solana-epoch-schedule v2.2.1
[INFO] [stderr]     Checking solana-epoch-rewards v2.2.1
[INFO] [stderr]     Checking solana-program-error v2.2.2
[INFO] [stderr]     Checking solana-transaction-error v2.2.1
[INFO] [stderr]     Checking solana-system-interface v1.0.0
[INFO] [stderr]     Checking solana-serialize-utils v2.2.1
[INFO] [stderr]     Checking solana-bincode v2.2.1
[INFO] [stderr]     Checking solana-address-lookup-table-interface v2.2.2
[INFO] [stderr]     Checking solana-loader-v2-interface v2.2.1
[INFO] [stderr]     Checking solana-stable-layout v2.2.1
[INFO] [stderr]     Checking spl-associated-token-account-client v2.0.0
[INFO] [stderr]     Checking solana-account-info v2.3.0
[INFO] [stderr]     Checking spl-discriminator v0.4.1
[INFO] [stderr]     Checking solana-program-pack v2.2.1
[INFO] [stderr]     Checking spl-program-error v0.7.0
[INFO] [stderr]     Checking solana-signer v2.2.1
[INFO] [stderr]     Checking solana-cpi v2.2.1
[INFO] [stderr]     Checking solana-zk-sdk v2.3.5
[INFO] [stderr]     Checking solana-program-entrypoint v2.3.0
[INFO] [stderr]     Checking solana-instructions-sysvar v2.2.2
[INFO] [stderr]     Checking solana-account v2.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]     Checking solana-stake-interface v1.2.1
[INFO] [stderr]     Checking spl-memo v6.0.0
[INFO] [stderr]     Checking solana-secp256k1-recover v2.2.1
[INFO] [stderr]     Checking solana-feature-gate-interface v2.2.2
[INFO] [stderr]     Checking solana-example-mocks v2.2.1
[INFO] [stderr]     Checking solana-sysvar v2.2.2
[INFO] [stderr]     Checking solana-program v2.3.0
[INFO] [stderr]     Checking spl-token v8.0.0
[INFO] [stderr]     Checking spl-pod v0.5.1
[INFO] [stderr]     Checking spl-token-confidential-transfer-proof-generation v0.2.0
[INFO] [stderr]     Checking spl-token-confidential-transfer-ciphertext-arithmetic v0.2.1
[INFO] [stderr]     Checking spl-token-confidential-transfer-proof-generation v0.4.0
[INFO] [stderr]     Checking spl-token-confidential-transfer-ciphertext-arithmetic v0.3.0
[INFO] [stderr]     Checking spl-program-error v0.6.0
[INFO] [stderr]     Checking spl-token v7.0.0
[INFO] [stderr]     Checking mpl-token-metadata v5.1.0
[INFO] [stderr]     Checking spl-type-length-value v0.7.0
[INFO] [stderr]     Checking spl-token-confidential-transfer-proof-extraction v0.2.1
[INFO] [stderr]     Checking spl-type-length-value v0.8.0
[INFO] [stderr]     Checking spl-token-group-interface v0.5.0
[INFO] [stderr]     Checking spl-token-confidential-transfer-proof-extraction v0.4.0
[INFO] [stderr]     Checking spl-token-group-interface v0.6.0
[INFO] [stderr]     Checking spl-elgamal-registry v0.1.1
[INFO] [stderr]     Checking spl-tlv-account-resolution v0.9.0
[INFO] [stderr]     Checking spl-token-metadata-interface v0.6.0
[INFO] [stderr]     Checking spl-tlv-account-resolution v0.10.0
[INFO] [stderr]     Checking spl-token-metadata-interface v0.7.0
[INFO] [stderr]     Checking spl-elgamal-registry v0.3.0
[INFO] [stderr]     Checking spl-transfer-hook-interface v0.10.0
[INFO] [stderr]     Checking spl-transfer-hook-interface v0.9.0
[INFO] [stderr]    Compiling anchor-attribute-error v0.31.1
[INFO] [stderr]    Compiling anchor-attribute-event v0.31.1
[INFO] [stderr]    Compiling anchor-derive-accounts v0.31.1
[INFO] [stderr]    Compiling anchor-derive-serde v0.31.1
[INFO] [stderr]    Compiling anchor-attribute-access-control v0.31.1
[INFO] [stderr]    Compiling anchor-attribute-account v0.31.1
[INFO] [stderr]    Compiling anchor-attribute-constant v0.31.1
[INFO] [stderr]    Compiling anchor-attribute-program v0.31.1
[INFO] [stderr]     Checking spl-token-2022 v9.0.0
[INFO] [stderr]     Checking spl-token-2022 v6.0.0
[INFO] [stderr]     Checking anchor-lang v0.31.1
[INFO] [stderr]     Checking spl-associated-token-account v6.0.0
[INFO] [stderr]     Checking anchor-spl v0.31.1
[INFO] [stderr]     Checking flashbot-solana v0.1.0 (/opt/rustwide/workdir/programs/flashbot-solana)
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]  --> programs/flashbot-solana/src/dlmm/state.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]   = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/state.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]  --> programs/flashbot-solana/src/dlmm/state.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]   = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/state.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/state.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/state.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/state.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/state.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/state.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/state.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/state.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/state.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/state.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:227:12
[INFO] [stdout]     |
[INFO] [stdout] 227 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 252 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:293:12
[INFO] [stdout]     |
[INFO] [stdout] 293 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:335:12
[INFO] [stdout]     |
[INFO] [stdout] 335 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:344:12
[INFO] [stdout]     |
[INFO] [stdout] 344 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `solana`
[INFO] [stdout]   --> programs/flashbot-solana/src/lib.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::custom_heap_default` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `$crate::custom_heap_default` may come from an old version of the `solana_program_entrypoint` crate, try updating your dependency with `cargo update -p solana_program_entrypoint`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_heap_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `solana`
[INFO] [stdout]   --> programs/flashbot-solana/src/lib.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::custom_panic_default` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `$crate::custom_panic_default` may come from an old version of the `solana_program_entrypoint` crate, try updating your dependency with `cargo update -p solana_program_entrypoint`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_panic_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/state.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mint` and `TokenAccount`
[INFO] [stdout]  --> programs/flashbot-solana/src/state.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anchor_spl::token::{Mint, Token, TokenAccount};
[INFO] [stdout]   |                         ^^^^         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/state.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/state.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:227:12
[INFO] [stdout]     |
[INFO] [stdout] 227 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 252 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:293:12
[INFO] [stdout]     |
[INFO] [stdout] 293 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:335:12
[INFO] [stdout]     |
[INFO] [stdout] 335 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:344:12
[INFO] [stdout]     |
[INFO] [stdout] 344 | #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]     = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `solana`
[INFO] [stdout]   --> programs/flashbot-solana/src/lib.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::custom_heap_default` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `$crate::custom_heap_default` may come from an old version of the `solana_program_entrypoint` crate, try updating your dependency with `cargo update -p solana_program_entrypoint`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_heap_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `solana`
[INFO] [stdout]   --> programs/flashbot-solana/src/lib.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `redox`, `rtems`, `solaris`, `solid_asp3`, and `teeos` and 13 more
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::custom_panic_default` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the macro `$crate::custom_panic_default` may come from an old version of the `solana_program_entrypoint` crate, try updating your dependency with `cargo update -p solana_program_entrypoint`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::custom_panic_default` which comes from the expansion of the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mint` and `TokenAccount`
[INFO] [stdout]  --> programs/flashbot-solana/src/state.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anchor_spl::token::{Mint, Token, TokenAccount};
[INFO] [stdout]   |                         ^^^^         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `solana_program`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/instructions/swap.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anchor_lang::{prelude::*, solana_program};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TokenAccount` and `Token`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/instructions/swap.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anchor_spl::token::{Token, TokenAccount};
[INFO] [stdout]   |                         ^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deref` and `Neg`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/instructions/swap.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{Deref, Neg};
[INFO] [stdout]   |                ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MulDiv`, `U128`, `fixed_point_64`, and `liquidity_math`
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/instructions/swap.rs:10:38
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::raydium_clmm::libraries::{fixed_point_64, liquidity_math, swap_math, tick_math, MulDiv, U128};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^                        ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FEE_RATE_DENOMINATOR_VALUE`, `ObservationState`, `SwapEvent`, and `oracle`
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/instructions/swap.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 | ...::{oracle, AmmConfig, ObservationState, PoolState, PoolStatusBitIndex, SwapEvent, TickArrayBitmapExtension, TickArrayState, TickState, FEE_RATE_DENOMINATOR_VALUE};
[INFO] [stdout]    |       ^^^^^^             ^^^^^^^^^^^^^^^^                                 ^^^^^^^^^                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccountLoad`, `transfer_from_pool_vault_to_user`, and `transfer_from_user_to_pool_vault`
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/instructions/swap.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::raydium_clmm::util::{transfer_from_pool_vault_to_user, transfer_from_user_to_pool_vault, AccountLoad};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::raydium_clmm::error::CLMMErrorCode`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/config.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::raydium_clmm::error::CLMMErrorCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_lang::solana_program::program_option::COption`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anchor_lang::solana_program::program_option::COption;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_spl::token_interface::Mint`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anchor_spl::token_interface::Mint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BitOr` and `BitXor`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{BitAnd, BitOr, BitXor};
[INFO] [stdout]   |                        ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AmmConfig` and `OperationState`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::raydium_clmm::states::{AmmConfig, OperationState, TickArrayBitmapExtension, TickArrayState};
[INFO] [stdout]   |                                   ^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `solana_program`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/instructions/swap.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anchor_lang::{prelude::*, solana_program};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TokenAccount` and `Token`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/instructions/swap.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anchor_spl::token::{Token, TokenAccount};
[INFO] [stdout]   |                         ^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deref` and `Neg`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/instructions/swap.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{Deref, Neg};
[INFO] [stdout]   |                ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MulDiv`, `U128`, `fixed_point_64`, and `liquidity_math`
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/instructions/swap.rs:10:38
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::raydium_clmm::libraries::{fixed_point_64, liquidity_math, swap_math, tick_math, MulDiv, U128};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^                        ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/util/account_load.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anchor_lang::error::{Error, ErrorCode};
[INFO] [stdout]   |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Owner`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/util/account_load.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anchor_lang::{Key, Owner, Result, ToAccountInfos, ZeroCopy};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/util.rs:21:79
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let clmm_remaining_accounts = next_account_infos(remaining_accounts_iter, (9 + ticks_array_len))?;
[INFO] [stdout]    |                                                                               ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 21 -     let clmm_remaining_accounts = next_account_infos(remaining_accounts_iter, (9 + ticks_array_len))?;
[INFO] [stdout] 21 +     let clmm_remaining_accounts = next_account_infos(remaining_accounts_iter, 9 + ticks_array_len )?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FEE_RATE_DENOMINATOR_VALUE`, `ObservationState`, `SwapEvent`, and `oracle`
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/instructions/swap.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 | ...::{oracle, AmmConfig, ObservationState, PoolState, PoolStatusBitIndex, SwapEvent, TickArrayBitmapExtension, TickArrayState, TickState, FEE_RATE_DENOMINATOR_VALUE};
[INFO] [stdout]    |       ^^^^^^             ^^^^^^^^^^^^^^^^                                 ^^^^^^^^^                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/libraries/big_num.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::convert;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccountLoad`, `transfer_from_pool_vault_to_user`, and `transfer_from_user_to_pool_vault`
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/instructions/swap.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::raydium_clmm::util::{transfer_from_pool_vault_to_user, transfer_from_user_to_pool_vault, AccountLoad};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/libraries/big_num.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::raydium_clmm::error::CLMMErrorCode`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/config.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::raydium_clmm::error::CLMMErrorCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_lang::solana_program::program_option::COption`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anchor_lang::solana_program::program_option::COption;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_spl::token_interface::Mint`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anchor_spl::token_interface::Mint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BitOr` and `BitXor`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{BitAnd, BitOr, BitXor};
[INFO] [stdout]   |                        ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AmmConfig` and `OperationState`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::raydium_clmm::states::{AmmConfig, OperationState, TickArrayBitmapExtension, TickArrayState};
[INFO] [stdout]   |                                   ^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/util/account_load.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anchor_lang::error::{Error, ErrorCode};
[INFO] [stdout]   |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Owner`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/util/account_load.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anchor_lang::{Key, Owner, Result, ToAccountInfos, ZeroCopy};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/util.rs:21:79
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let clmm_remaining_accounts = next_account_infos(remaining_accounts_iter, (9 + ticks_array_len))?;
[INFO] [stdout]    |                                                                               ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 21 -     let clmm_remaining_accounts = next_account_infos(remaining_accounts_iter, (9 + ticks_array_len))?;
[INFO] [stdout] 21 +     let clmm_remaining_accounts = next_account_infos(remaining_accounts_iter, 9 + ticks_array_len )?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/libraries/big_num.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::convert;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/libraries/big_num.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BuyQuoteInputResult`
[INFO] [stdout]  --> programs/flashbot-solana/src/pump/util/mod.rs:3:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use util::{buy_quote_input_internal, BuyQuoteInputResult};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BuyQuoteInputResult`
[INFO] [stdout]  --> programs/flashbot-solana/src/pump/util/mod.rs:3:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use util::{buy_quote_input_internal, BuyQuoteInputResult};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_spl::token_2022::spl_token_2022::extension`
[INFO] [stdout]  --> programs/flashbot-solana/src/dlmm/util.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anchor_spl::token_2022::spl_token_2022::extension;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::*`
[INFO] [stdout]  --> programs/flashbot-solana/src/dlmm/lb_pair.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dlmm::util::derive_bin_array_pda`
[INFO] [stdout]  --> programs/flashbot-solana/src/dlmm/bin_array.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::dlmm::util::derive_bin_array_pda;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_spl::token_2022::spl_token_2022::extension`
[INFO] [stdout]  --> programs/flashbot-solana/src/dlmm/util.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anchor_spl::token_2022::spl_token_2022::extension;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `account`
[INFO] [stdout]  --> programs/flashbot-solana/src/damm/state.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     account,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::*`
[INFO] [stdout]  --> programs/flashbot-solana/src/dlmm/lb_pair.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `msg`
[INFO] [stdout]  --> programs/flashbot-solana/src/damm/util.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anchor_lang::prelude::{msg, AccountInfo, Clock, Pubkey, SolanaSysvar};
[INFO] [stdout]   |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dlmm::util::derive_bin_array_pda`
[INFO] [stdout]  --> programs/flashbot-solana/src/dlmm/bin_array.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::dlmm::util::derive_bin_array_pda;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepegType`, `Depeg`, and `TokenMultiplier`
[INFO] [stdout]  --> programs/flashbot-solana/src/damm/util.rs:8:63
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::damm::state::{ActivationType, CurveType, DammPool, Depeg, DepegType, TokenMultiplier, Vault};
[INFO] [stdout]   |                                                               ^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `account`
[INFO] [stdout]  --> programs/flashbot-solana/src/damm/state.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     account,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `msg`
[INFO] [stdout]  --> programs/flashbot-solana/src/damm/util.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anchor_lang::prelude::{msg, AccountInfo, Clock, Pubkey, SolanaSysvar};
[INFO] [stdout]   |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepegType`, `Depeg`, and `TokenMultiplier`
[INFO] [stdout]  --> programs/flashbot-solana/src/damm/util.rs:8:63
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::damm::state::{ActivationType, CurveType, DammPool, Depeg, DepegType, TokenMultiplier, Vault};
[INFO] [stdout]   |                                                               ^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `static_assertions::const_assert_eq`
[INFO] [stdout]  --> programs/flashbot-solana/src/damm_v2/state/pool.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use static_assertions::const_assert_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InitSpace` and `Space`
[INFO] [stdout]  --> programs/flashbot-solana/src/damm_v2/state/pool.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anchor_lang::{zero_copy, InitSpace, Space, Result, account};
[INFO] [stdout]   |                              ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `static_assertions::const_assert_eq`
[INFO] [stdout]  --> programs/flashbot-solana/src/damm_v2/state/pool.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use static_assertions::const_assert_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InitSpace` and `Space`
[INFO] [stdout]  --> programs/flashbot-solana/src/damm_v2/state/pool.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anchor_lang::{zero_copy, InitSpace, Space, Result, account};
[INFO] [stdout]   |                              ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |     #[cfg(not(feature = "local"))]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 |     #[cfg(feature = "local")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 |     #[cfg(not(feature = "local"))]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg(feature = "local")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |     #[cfg(not(feature = "local"))]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 |     #[cfg(feature = "local")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 |     #[cfg(not(feature = "local"))]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |     #[cfg(not(feature = "local"))]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 |     #[cfg(feature = "local")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 |     #[cfg(feature = "local")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 |     #[cfg(not(feature = "local"))]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg(feature = "local")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |     #[cfg(not(feature = "local"))]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 |     #[cfg(feature = "local")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 |     #[cfg(not(feature = "local"))]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `local`
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 |     #[cfg(feature = "local")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anchor-debug`, `client`, `cpi`, `custom-heap`, `custom-panic`, `default`, `enable-log`, `enable-power`, `idl-build`, `no-entrypoint`, `no-idl`, `no-log-ix-name`, and `paramset`
[INFO] [stdout]    = help: consider adding `local` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::whirlpool::state::Whirlpool`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/oracle.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::whirlpool::state::Whirlpool;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MAX_FEE_RATE`, `MAX_PROTOCOL_FEE_RATE`, `MAX_SQRT_PRICE_X64`, `MIN_SQRT_PRICE_X64`, `errors::ErrorCode`, and `tick_index_from_sqrt_price`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/whirlpool.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     errors::ErrorCode,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     math::{
[INFO] [stdout] 4 |         tick_index_from_sqrt_price, MAX_FEE_RATE, MAX_PROTOCOL_FEE_RATE, MAX_SQRT_PRICE_X64,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |         MIN_SQRT_PRICE_X64,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_lang::solana_program::system_program`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/whirlpool.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anchor_lang::solana_program::system_program;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::WhirlpoolsConfig`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/whirlpool.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::WhirlpoolsConfig;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::whirlpool::state::Whirlpool`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/oracle.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::whirlpool::state::Whirlpool;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `adaptive_fee_tier::*`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use adaptive_fee_tier::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `config_extension::*`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use config_extension::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fee_tier::*`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use fee_tier::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lock_config::*`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub use lock_config::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `position::*`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use position::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `position_bundle::*`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use position_bundle::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use zeroed_tick_array::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use zeroed_tick_array::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MAX_FEE_RATE`, `MAX_PROTOCOL_FEE_RATE`, `MAX_SQRT_PRICE_X64`, `MIN_SQRT_PRICE_X64`, `errors::ErrorCode`, and `tick_index_from_sqrt_price`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/whirlpool.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     errors::ErrorCode,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     math::{
[INFO] [stdout] 4 |         tick_index_from_sqrt_price, MAX_FEE_RATE, MAX_PROTOCOL_FEE_RATE, MAX_SQRT_PRICE_X64,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |         MIN_SQRT_PRICE_X64,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_lang::solana_program::system_program`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/whirlpool.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anchor_lang::solana_program::system_program;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::WhirlpoolsConfig`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/whirlpool.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::WhirlpoolsConfig;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `adaptive_fee_tier::*`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use adaptive_fee_tier::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `config_extension::*`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use config_extension::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fee_tier::*`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use fee_tier::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lock_config::*`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub use lock_config::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bn::*`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use bn::*;
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::state::*`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/util/swap_tick_sequence.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::state::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_lang::solana_program`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/util/v2/token.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anchor_lang::solana_program;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BuildMemo`, `Memo`, and `self`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/util/v2/token.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anchor_spl::memo::{self, BuildMemo, Memo};
[INFO] [stdout]   |                        ^^^^  ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokenAccount`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/v2/token.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anchor_spl::token::{Token, TokenAccount};
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `position::*`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use position::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `position_bundle::*`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use position_bundle::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use zeroed_tick_array::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use zeroed_tick_array::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bn::*`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use bn::*;
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokenInterface`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/v2/token.rs:15:41
[INFO] [stdout]    |
[INFO] [stdout] 15 | use anchor_spl::token_interface::{Mint, TokenInterface};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `spl_transfer_hook_interface`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/v2/token.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use spl_transfer_hook_interface;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `token::*`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/util/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use token::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::state::*`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/util/swap_tick_sequence.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::state::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `math::add_liquidity_delta`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/manager/tick_manager.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     math::add_liquidity_delta,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `add_liquidity_delta`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/manager/whirlpool_manager.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::whirlpool::math::{add_liquidity_delta, checked_mul_div};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RAYDIUM_CLMM` should have an upper camel case name
[INFO] [stdout]   --> programs/flashbot-solana/src/utils.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     RAYDIUM_CLMM,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RaydiumClmm`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RAYDIUM_CPMM` should have an upper camel case name
[INFO] [stdout]   --> programs/flashbot-solana/src/utils.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     RAYDIUM_CPMM,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RaydiumCpmm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_lang::solana_program`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/util/v2/token.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anchor_lang::solana_program;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BuildMemo`, `Memo`, and `self`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/util/v2/token.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anchor_spl::memo::{self, BuildMemo, Memo};
[INFO] [stdout]   |                        ^^^^  ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokenAccount`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/v2/token.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anchor_spl::token::{Token, TokenAccount};
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokenInterface`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/v2/token.rs:15:41
[INFO] [stdout]    |
[INFO] [stdout] 15 | use anchor_spl::token_interface::{Mint, TokenInterface};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `spl_transfer_hook_interface`
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/v2/token.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use spl_transfer_hook_interface;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_lang::solana_program::program::invoke`
[INFO] [stdout]   --> programs/flashbot-solana/src/lib.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     use anchor_lang::solana_program::program::invoke;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `token::*`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/util/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use token::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DexMaxResult`, `Dex`, and `get_pump_amount`
[INFO] [stdout]   --> programs/flashbot-solana/src/lib.rs:40:44
[INFO] [stdout]    |
[INFO] [stdout] 40 |     use crate::utils::{get_max_amount_out, get_pump_amount, Dex, DexMaxResult};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^  ^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `math::add_liquidity_delta`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/manager/tick_manager.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     math::add_liquidity_delta,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> programs/flashbot-solana/src/lib.rs:62:78
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let token_program = next_account_info(&mut remaining_accounts_iter)?;;
[INFO] [stdout]    |                                                                              ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `add_liquidity_delta`
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/manager/whirlpool_manager.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::whirlpool::math::{add_liquidity_delta, checked_mul_div};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RAYDIUM_CLMM` should have an upper camel case name
[INFO] [stdout]   --> programs/flashbot-solana/src/utils.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     RAYDIUM_CLMM,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RaydiumClmm`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RAYDIUM_CPMM` should have an upper camel case name
[INFO] [stdout]   --> programs/flashbot-solana/src/utils.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     RAYDIUM_CPMM,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RaydiumCpmm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anchor_lang::solana_program::program::invoke`
[INFO] [stdout]   --> programs/flashbot-solana/src/lib.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     use anchor_lang::solana_program::program::invoke;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DexMaxResult`, `Dex`, and `get_pump_amount`
[INFO] [stdout]   --> programs/flashbot-solana/src/lib.rs:40:44
[INFO] [stdout]    |
[INFO] [stdout] 40 |     use crate::utils::{get_max_amount_out, get_pump_amount, Dex, DexMaxResult};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^  ^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> programs/flashbot-solana/src/lib.rs:62:78
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let token_program = next_account_info(&mut remaining_accounts_iter)?;;
[INFO] [stdout]    |                                                                              ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `anchor_lang::solana_program::system_program`: Use `solana_sdk_ids::system_program` instead
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/whirlpool.rs:9:34
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anchor_lang::solana_program::system_program;
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `anchor_lang::solana_program::system_program`: Use `solana_sdk_ids::system_program` instead
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/whirlpool.rs:9:34
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anchor_lang::solana_program::system_program;
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `anchor_lang::prelude::AccountInfo::<'a>::realloc`: Use AccountInfo::resize() instead
[INFO] [stdout]   --> programs/flashbot-solana/src/lib.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `anchor_lang::prelude::AccountInfo::<'a>::realloc`: Use AccountInfo::resize() instead
[INFO] [stdout]   --> programs/flashbot-solana/src/lib.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[program]
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the attribute macro `program` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `amount_with_slippage` is never read
[INFO] [stdout]    --> programs/flashbot-solana/src/pump/util/util.rs:453:36
[INFO] [stdout]     |
[INFO] [stdout] 453 |     let mut amount_with_slippage = amount_in;
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stake_data`
[INFO] [stdout]    --> programs/flashbot-solana/src/damm/util.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |     let stake_data = &quote_data.stake_data;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stake_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `amount_with_slippage` is never read
[INFO] [stdout]    --> programs/flashbot-solana/src/pump/util/util.rs:453:36
[INFO] [stdout]     |
[INFO] [stdout] 453 |     let mut amount_with_slippage = amount_in;
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stake_data`
[INFO] [stdout]    --> programs/flashbot-solana/src/damm/util.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |     let stake_data = &quote_data.stake_data;
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stake_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `amount_out` is never read
[INFO] [stdout]    --> programs/flashbot-solana/src/utils.rs:365:26
[INFO] [stdout]     |
[INFO] [stdout] 365 |     let mut amount_out = 0;
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `destination_mint`
[INFO] [stdout]    --> programs/flashbot-solana/src/utils.rs:741:5
[INFO] [stdout]     |
[INFO] [stdout] 741 |     destination_mint: &'a AccountInfo<'a>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_destination_mint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_program`
[INFO] [stdout]   --> programs/flashbot-solana/src/lib.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let token_program = next_account_info(&mut remaining_accounts_iter)?;;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `into_u64`, `valid_status`, `deposit_permission`, `withdraw_permission`, and `swap_permission` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium/states.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl AmmStatus {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn into_u64(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn valid_status(status: u64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn deposit_permission(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn withdraw_permission(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn swap_permission(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AmmState` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium/states.rs:120:10
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub enum AmmState {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_u64`, `into_u64`, and `valid_state` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium/states.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl AmmState {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 130 |     pub fn from_u64(state: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn into_u64(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn valid_state(state: u64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `load` and `load_from_bytes` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium/states.rs:304:8
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub trait Loadable: Pod {
[INFO] [stdout]     |           -------- associated functions in this trait
[INFO] [stdout] ...
[INFO] [stdout] 304 |     fn load<'a>(account: &'a AccountInfo) -> Result<Ref<'a, Self>, ProgramError> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     fn load_from_bytes(data: &[u8]) -> Result<&Self, ProgramError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load_checked` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium/states.rs:332:12
[INFO] [stdout]     |
[INFO] [stdout] 315 | impl AmmInfo {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn load_checked<'a>(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PoolInfo` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium/states.rs:350:12
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub struct PoolInfo {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `swap_token_amount_base_out` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium/states.rs:451:12
[INFO] [stdout]     |
[INFO] [stdout] 412 | impl Calculator {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 451 |     pub fn swap_token_amount_base_out(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarketState` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium/states.rs:513:12
[INFO] [stdout]     |
[INFO] [stdout] 513 | pub struct MarketState {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_amount_in` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium/utils.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn get_amount_in(amount_out: u64, raydium_accounts: Vec<&AccountInfo>) -> Result<u64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `invoke_swap_base_out` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium/processor.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Processor {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn invoke_swap_base_out(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_SEED` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_cpmm/state.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const POOL_SEED: &str = "pool";
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_LP_MINT_SEED` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_cpmm/state.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const POOL_LP_MINT_SEED: &str = "pool_lp_mint";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_VAULT_SEED` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_cpmm/state.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const POOL_VAULT_SEED: &str = "pool_vault";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PoolStatusBitIndex` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/state.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum PoolStatusBitIndex {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PoolStatusBitFlag` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/state.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum PoolStatusBitFlag {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `initialize`, `set_status`, `set_status_by_bit`, and `get_status_by_bit` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_cpmm/state.rs:82:15
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl PoolState {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  82 |     pub const LEN: usize = 8 + 10 * 32 + 1 * 5 + 8 * 7 + 8 * 31;
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  83 |
[INFO] [stdout]  84 |     pub fn initialize(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn set_status(&mut self, status: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn set_status_by_bit(&mut self, bit: PoolStatusBitIndex, flag: PoolStatusBitFlag) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn get_status_by_bit(&self, bit: PoolStatusBitIndex) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AMM_CONFIG_SEED` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_cpmm/state.rs:162:11
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub const AMM_CONFIG_SEED: &str = "amm_config";
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `LEN` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_cpmm/state.rs:191:15
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl AmmConfig {
[INFO] [stdout]     | -------------- associated constant in this implementation
[INFO] [stdout] 191 |     pub const LEN: usize = 8 + 1 + 1 + 2 + 4 * 8 + 32 * 2 + 8 * 16;
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_transfer_inverse_fee` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/utils.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn get_transfer_inverse_fee(mint_info: &AccountInfo, post_fee_amount: u64) -> Result<u64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_amount_base_out` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_cpmm/utils.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn get_amount_base_out(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `calculate_pre_fee_amount` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/fees.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Fees {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn calculate_pre_fee_amount(post_fee_amount: u128, trade_fee_rate: u64) -> Option<u128> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `swap_base_output_without_fees` and `lp_tokens_to_trading_tokens` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/constant_product.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ConstantProductCurve {
[INFO] [stdout]    | ------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn swap_base_output_without_fees(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn lp_tokens_to_trading_tokens(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RoundDirection` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/calculator.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum RoundDirection {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `opposite` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/calculator.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl TradeDirection {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn opposite(&self) -> TradeDirection {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TradingTokenResult` is never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/calculator.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct TradingTokenResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `validate_supply`, `swap_base_output`, and `lp_tokens_to_trading_tokens` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_cpmm/calculator.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl CurveCalculator {
[INFO] [stdout]     | -------------------- associated functions in this implementation
[INFO] [stdout]  79 |     pub fn validate_supply(token_0_amount: u64, token_1_amount: u64) -> anchor_lang::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn swap_base_output(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn lp_tokens_to_trading_tokens(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fee_growth_global_x64`, `fee_amount`, `protocol_fee`, and `fund_fee` are never read
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/instructions/swap.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct SwapState {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fee_growth_global_x64: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     // the global fee of the input token
[INFO] [stdout] 28 |     pub fee_amount: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 29 |     // amount of input token paid as protocol fee
[INFO] [stdout] 30 |     pub protocol_fee: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 31 |     // amount of input token paid as fund fee
[INFO] [stdout] 32 |     pub fund_fee: u64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SwapState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AMM_CONFIG_SEED` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/config.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const AMM_CONFIG_SEED: &str = "amm_config";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPERATION_SEED` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/operation_account.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const OPERATION_SEED: &str = "operation";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `initialize`, `validate_operation_owner`, `validate_whitelist_mint`, `update_whitelist_mint`, and `remove_whitelist_mint` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/operation_account.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl OperationState {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 22 |     pub const LEN: usize = 8 + 1 + 32 * OPERATION_SIZE_USIZE + 32 * WHITE_MINT_SIZE_USIZE;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 23 |     pub fn initialize(&mut self, bump: u8) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn validate_operation_owner(&self, owner: Pubkey) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn validate_whitelist_mint(&self, mint: Pubkey) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn update_whitelist_mint(&mut self, keys: Vec<Pubkey>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn remove_whitelist_mint(&mut self, keys: Vec<Pubkey>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBSERVATION_SEED` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/oracle.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const OBSERVATION_SEED: &str = "observation";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBSERVATION_UPDATE_DURATION_DEFAULT` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/oracle.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const OBSERVATION_UPDATE_DURATION_DEFAULT: u32 = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `initialize` and `update` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/oracle.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl ObservationState {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn initialize(&mut self, pool_id: Pubkey) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn update(&mut self, block_timestamp: u32, tick: i32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `block_timestamp_mock` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/oracle.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub fn block_timestamp_mock() -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_VAULT_SEED` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const POOL_VAULT_SEED: &str = "pool_vault";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_REWARD_VAULT_SEED` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const POOL_REWARD_VAULT_SEED: &str = "pool_reward_vault";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_TICK_ARRAY_BITMAP_SEED` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const POOL_TICK_ARRAY_BITMAP_SEED: &str = "pool_tick_array_bitmap_extension";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `OpenPositionOrIncreaseLiquidity`, `DecreaseLiquidity`, `CollectFee`, and `CollectReward` are never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum PoolStatusBitIndex {
[INFO] [stdout]    |          ------------------ variants in this enum
[INFO] [stdout] 34 |     OpenPositionOrIncreaseLiquidity,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     DecreaseLiquidity,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     CollectFee,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 37 |     CollectReward,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PoolStatusBitFlag` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum PoolStatusBitFlag {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `update_reward_infos`, `check_unclaimed_reward`, `add_reward_clamed`, and `get_tick_array_offset` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl PoolState {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 141 |     pub const LEN: usize = 8
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub fn update_reward_infos(&mut self, curr_timestamp: u64) -> Result<[RewardInfo; REWARD_NUM]> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     pub fn check_unclaimed_reward(&self, index: usize, reward_amount_owed: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 422 |     pub fn add_reward_clamed(&mut self, index: usize, amount: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     pub fn get_tick_array_offset(&self, tick_array_start_index: i32) -> Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RewardState` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:610:10
[INFO] [stdout]     |
[INFO] [stdout] 610 | pub enum RewardState {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `new`, `initialized`, and `get_reward_growths` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:651:15
[INFO] [stdout]     |
[INFO] [stdout] 650 | impl RewardInfo {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 651 |     pub const LEN: usize = 1 + 8 + 8 + 8 + 16 + 8 + 8 + 32 + 32 + 32 + 16;
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 654 |     pub fn new(authority: Pubkey) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 663 |     pub fn initialized(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 667 |     pub fn get_reward_growths(reward_infos: &[RewardInfo; REWARD_NUM]) -> [u128; REWARD_NUM] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PoolCreatedEvent` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:680:12
[INFO] [stdout]     |
[INFO] [stdout] 680 | pub struct PoolCreatedEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CollectProtocolFeeEvent` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:708:12
[INFO] [stdout]     |
[INFO] [stdout] 708 | pub struct CollectProtocolFeeEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SwapEvent` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:728:12
[INFO] [stdout]     |
[INFO] [stdout] 728 | pub struct SwapEvent {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LiquidityChangeEvent` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:771:12
[INFO] [stdout]     |
[INFO] [stdout] 771 | pub struct LiquidityChangeEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_REWARD_PERIOD` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub const MIN_REWARD_PERIOD: u64 = 7 * 24 * 60 * 60;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_REWARD_PERIOD` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub const MAX_REWARD_PERIOD: u64 = 90 * 24 * 60 * 60;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INCREASE_EMISSIONES_PERIOD` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub const INCREASE_EMISSIONES_PERIOD: u64 = 72 * 60 * 60;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUPPORT_MINT_SEED` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/support_mint_associated.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const SUPPORT_MINT_SEED: &str = "support_mint";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SupportMintAssociated` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/support_mint_associated.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct SupportMintAssociated {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN` and `initialize` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/support_mint_associated.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl SupportMintAssociated {
[INFO] [stdout]    | -------------------------- associated items in this implementation
[INFO] [stdout] 17 |     pub const LEN: usize = 8 + 1 + 32 + 64;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 18 |
[INFO] [stdout] 19 |     pub fn initialize<'info>(&mut self, bump: u8, mint: Pubkey) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TICK_ARRAY_SEED` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/tick_array.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const TICK_ARRAY_SEED: &str = "tick_array";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/tick_array.rs:30:15
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl TickArrayState {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  30 |     pub const LEN: usize = 8 + 32 + 4 + TickState::LEN * TICK_ARRAY_SIZE_USIZE + 1 + 115;
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  31 |
[INFO] [stdout]  32 |     pub fn key(&self) -> Pubkey {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  44 |     pub fn get_or_create_tick_array<'info>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn initialize(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn update_initialized_tick_count(&mut self, add: bool) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn get_tick_state_mut(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn update_tick_state(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     fn get_tick_offset_in_array(self, tick_index: i32, tick_spacing: u16) -> Result<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn next_tick_arrary_start_index(&self, tick_spacing: u16, zero_for_one: bool) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `initialize`, `update`, `cross`, and `clear` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/tick_array.rs:289:15
[INFO] [stdout]     |
[INFO] [stdout] 288 | impl TickState {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 289 |     pub const LEN: usize = 4 + 16 + 16 + 16 + 16 + 16 * REWARD_NUM + 16 + 16 + 8 + 8 + 4;
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 290 |
[INFO] [stdout] 291 |     pub fn initialize(&mut self, tick: i32, tick_spacing: u16) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     pub fn update(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn cross(
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_fee_growth_inside` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/tick_array.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | pub fn get_fee_growth_inside(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_reward_growths_inside` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/tick_array.rs:443:8
[INFO] [stdout]     |
[INFO] [stdout] 443 | pub fn get_reward_growths_inside(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_tick_array_start_index` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/tick_array.rs:491:8
[INFO] [stdout]     |
[INFO] [stdout] 491 | pub fn check_tick_array_start_index(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_ticks_order` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/tick_array.rs:512:8
[INFO] [stdout]     |
[INFO] [stdout] 512 | pub fn check_ticks_order(tick_lower_index: i32, tick_upper_index: i32) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `initialize`, `key`, and `flip_tick_array_bit` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/tickarray_bitmap_extension.rs:31:15
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl TickArrayBitmapExtension {
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout]  31 |     pub const LEN: usize = 8 + 32 + 64 * EXTENSION_TICKARRAY_BITMAP_SIZE * 2;
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  32 |
[INFO] [stdout]  33 |     pub fn initialize(&mut self, pool_id: Pubkey) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub fn key(pool_id: Pubkey) -> Pubkey {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn flip_tick_array_bit(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINT_WHITELIST` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const MINT_WHITELIST: [&'static str; 6] = [
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invoke_memo_instruction` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn invoke_memo_instruction<'info>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transfer_from_user_to_pool_vault` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn transfer_from_user_to_pool_vault<'info>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transfer_from_pool_vault_to_user` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn transfer_from_pool_vault_to_user<'info>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `close_spl_account` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn close_spl_account<'a, 'b, 'c, 'info>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `burn` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn burn<'a, 'b, 'c, 'info>(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_transfer_inverse_fee` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub fn get_transfer_inverse_fee(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_transfer_fee` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:219:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn get_transfer_fee(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `support_mint_associated_is_initialized` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub fn support_mint_associated_is_initialized(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_supported_mint` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:269:8
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub fn is_supported_mint(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_position_nft_mint_with_extensions` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:300:8
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub fn create_position_nft_mint_with_extensions<'info>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_token_vault_account` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:389:8
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub fn create_token_vault_account<'info>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_or_allocate_account` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/util/system.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn create_or_allocate_account<'a>(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_recent_epoch` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/system.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn get_recent_epoch() -> Result<u64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountLoad` is never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/account_load.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct AccountLoad<'info, T: ZeroCopy> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/account_load.rs:17:8
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl<'info, T: ZeroCopy> AccountLoad<'info, T> {
[INFO] [stdout]     | ---------------------------------------------- associated items in this implementation
[INFO] [stdout]  17 |     fn new(acc_info: AccountInfo<'info>) -> AccountLoad<'info, T> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  26 |     pub fn try_from(acc_info: &AccountInfo<'info>) -> Result<AccountLoad<'info, T>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     pub fn try_from_unchecked(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn load_init(&self) -> Result<RefMut<T>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn load_data_mut<'a>(acc_info: &'a AccountInfo) -> Result<RefMut<'a, T>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn load(&self) -> Result<Ref<T>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn load_mut(&self) -> Result<RefMut<T>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_underflow_u64` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/libraries/full_math.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait MulDiv<RHS = Self> {
[INFO] [stdout]    |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn to_underflow_u64(self) -> u64;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_delta` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn add_delta(x: u128, y: i128) -> Result<u128> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_liquidity_from_amount_0` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn get_liquidity_from_amount_0(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_liquidity_from_amount_1` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn get_liquidity_from_amount_1(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_liquidity_from_amounts` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn get_liquidity_from_amounts(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_liquidity_from_single_amount_0` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub fn get_liquidity_from_single_amount_0(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_liquidity_from_single_amount_1` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn get_liquidity_from_single_amount_1(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_delta_amount_0_signed` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub fn get_delta_amount_0_signed(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_delta_amount_1_signed` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:256:8
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub fn get_delta_amount_1_signed(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_delta_amounts_signed` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:278:8
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub fn get_delta_amounts_signed(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIT_PRECISION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/libraries/tick_math.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const BIT_PRECISION: u32 = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_tick_at_sqrt_price` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/libraries/tick_math.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn get_tick_at_sqrt_price(sqrt_price_x64: u128) -> Result<i32, anchor_lang::error::Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `internal_quote_without_fees` and `max_quote` are never read
[INFO] [stdout]   --> programs/flashbot-solana/src/pump/util/util.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct BuyQuoteInputResult {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub internal_quote_without_fees: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     /// 最大报价（含滑点）
[INFO] [stdout] 13 |     pub max_quote: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BuyQuoteInputResult` 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: struct `SellQuoteInputResult` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/pump/util/util.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub struct SellQuoteInputResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sell_quote_input_internal` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/pump/util/util.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn sell_quote_input_internal(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_quote_amount_out` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/pump/util/util.rs:214:4
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn calculate_quote_amount_out(quote: u64, total_fee_bps: u64) -> Result<u64> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BuyBaseInputResult` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/pump/util/util.rs:231:12
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub struct BuyBaseInputResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `buy_base_input_internal` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/pump/util/util.rs:252:8
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub fn buy_base_input_internal(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `min_quote` and `internal_quote_amount_out` are never read
[INFO] [stdout]    --> programs/flashbot-solana/src/pump/util/util.rs:350:9
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub struct SellBaseInputResult {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub min_quote: u64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 351 |     /// 内部报价输出（不含费用）
[INFO] [stdout] 352 |     pub internal_quote_amount_out: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SellBaseInputResult` 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: methods `serialize` and `try_to_vec` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl LbPairAccount {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn serialize<W: std::io::Write>(&self, mut writer: W) -> std::io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn try_to_vec(&self) -> std::io::Result<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `protocol_fee_after_host_fee`, `host_fee`, and `is_exact_out_amount` are never read
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct SwapResult {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub protocol_fee_after_host_fee: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 219 |     /// Part of protocol fee
[INFO] [stdout] 220 |     pub host_fee: u64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 221 |     /// Indicate whether we reach exact out amount
[INFO] [stdout] 222 |     pub is_exact_out_amount: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SwapResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIN_ARRAY_BITMAP_EXTENSION_ACCOUNT_DISCM` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:240:11
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub const BIN_ARRAY_BITMAP_EXTENSION_ACCOUNT_DISCM: [u8; 8] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinArrayBitmapExtensionAccount` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:259:12
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub struct BinArrayBitmapExtensionAccount(pub BinArrayBitmapExtension);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `deserialize`, `serialize`, and `try_to_vec` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 260 | impl BinArrayBitmapExtensionAccount {
[INFO] [stdout]     | ----------------------------------- associated items in this implementation
[INFO] [stdout] 261 |     pub fn deserialize(buf: &[u8]) -> std::io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn serialize<W: std::io::Write>(&self, mut writer: W) -> std::io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn try_to_vec(&self) -> std::io::Result<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIN_ARRAY_ACCOUNT_DISCM` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:290:11
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub const BIN_ARRAY_ACCOUNT_DISCM: [u8; 8] = [92, 142, 92, 220, 5, 148, 70, 181];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinArrayAccount` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:303:12
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub struct BinArrayAccount(pub BinArray);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `deserialize`, `serialize`, and `try_to_vec` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:305:12
[INFO] [stdout]     |
[INFO] [stdout] 304 | impl BinArrayAccount {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 305 |     pub fn deserialize(buf: &[u8]) -> std::io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn serialize<W: std::io::Write>(&self, mut writer: W) -> std::io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub fn try_to_vec(&self) -> std::io::Result<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fee` is never read
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/util.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SwapExactInQuote {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 14 |     pub amount_out: u64,
[INFO] [stdout] 15 |     pub fee: u64,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SwapExactInQuote` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SwapExactOutQuote` is never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/util.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct SwapExactOutQuote {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transfer_fee` is never read
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/util.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 337 | pub struct TransferFeeExcludedAmount {
[INFO] [stdout]     |            ------------------------- field in this struct
[INFO] [stdout] 338 |     pub amount: u64,
[INFO] [stdout] 339 |     pub transfer_fee: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TransferFeeExcludedAmount` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `calculate_out_amount` and `get_amount_in` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/util.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub trait BinExtension {
[INFO] [stdout]     |           ------------ associated items in this trait
[INFO] [stdout] ...
[INFO] [stdout] 391 |     fn calculate_out_amount(&self, liquidity_share: u128) -> Result<(u64, u64)>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     fn get_amount_in(amount_out: u64, price: u128, swap_for_y: bool) -> Result<u64>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_mul_div_cast` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/util.rs:782:8
[INFO] [stdout]     |
[INFO] [stdout] 782 | pub fn safe_mul_div_cast<T: FromPrimitive>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_bin_arrays_map` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/util.rs:792:8
[INFO] [stdout]     |
[INFO] [stdout] 792 | pub fn build_bin_arrays_map(bin_array_accounts: &[AccountInfo]) -> Result<HashMap<Pubkey, BinArray>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_BIN_PER_POSITION` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/dlmm/constants.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const DEFAULT_BIN_PER_POSITION: usize = 70;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_RESIZE_LENGTH` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const MAX_RESIZE_LENGTH: usize = 70;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POSITION_MAX_LENGTH` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const POSITION_MAX_LENGTH: usize = 1400;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PROTOCOL_SHARE` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const MAX_PROTOCOL_SHARE: u16 = 2_500;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HOST_FEE_BPS` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const HOST_FEE_BPS: u16 = 2_000;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_REWARDS` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const NUM_REWARDS: usize = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_REWARD_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const MIN_REWARD_DURATION: u64 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_REWARD_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const MAX_REWARD_DURATION: u64 = 31536000; // 1 year = 365 * 24 * 3600
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_OBSERVATION_LENGTH` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const DEFAULT_OBSERVATION_LENGTH: u64 = 100;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE_LIFETIME` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const SAMPLE_LIFETIME: u64 = 120; // 2
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BASE_FACTOR_STEP` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const MAX_BASE_FACTOR_STEP: u16 = 100; // 100 bps, 1%
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_FEE_UPDATE_WINDOW` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const MAX_FEE_UPDATE_WINDOW: i64 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_REWARD_BIN_SPLIT` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const MAX_REWARD_BIN_SPLIT: usize = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SLOT_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub const SLOT_BUFFER: u64 = 9000;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TIME_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const TIME_BUFFER: u64 = 3600;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ACTIVATION_SLOT_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const MAX_ACTIVATION_SLOT_DURATION: u64 = SLOT_BUFFER * 24 * 31; // 31 days
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ACTIVATION_TIME_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const MAX_ACTIVATION_TIME_DURATION: u64 = TIME_BUFFER * 24 * 31; // 31 days
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIVE_MINUTES_SLOT_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const FIVE_MINUTES_SLOT_BUFFER: u64 = SLOT_BUFFER / 12; // 5 minutes
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIVE_MINUTES_TIME_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const FIVE_MINUTES_TIME_BUFFER: u64 = TIME_BUFFER / 12; // 5 minutes
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ILM_PROTOCOL_SHARE` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const ILM_PROTOCOL_SHARE: u16 = 2000; // 20%
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BIN_STEP` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const MAX_BIN_STEP: u16 = 400;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BASE_FEE` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const MAX_BASE_FEE: u128 = 100_000_000; // 10% (10^9 * 10 / 100)
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_BASE_FEE` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const MIN_BASE_FEE: u128 = 100_000; // 0.01% (10^9 * 0.01 / 100)
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `is_bin_id_within_range`, `get_bin_index_in_array`, `get_bin_array_lower_upper_bin_id`, `get_bin_mut`, and `get_bin` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/bin_array.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub trait BinArrayExtension {
[INFO] [stdout]    |           ----------------- associated items in this trait
[INFO] [stdout] 10 |     fn is_bin_id_within_range(&self, bin_id: i32) -> Result<bool>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     fn get_bin_index_in_array(&self, bin_id: i32) -> Result<usize>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     fn get_bin_array_lower_upper_bin_id(index: i32) -> Result<(i32, i32)>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn get_bin_mut<'a>(&'a mut self, bin_id: i32) -> Result<&'a mut Bin>;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 18 |     fn get_bin<'a>(&'a self, bin_id: i32) -> Result<&'a Bin>;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HostFee` is never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct HostFee<'c, 'info> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `host_trading_fee` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm/state.rs:234:12
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl PoolFees {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 233 |     /// Calculate the host trading fee in trading tokens
[INFO] [stdout] 234 |     pub fn host_trading_fee(&self, trading_tokens: u128) -> Option<u128> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `upscale_token_a`, `upscale_token_b`, `downscale_token_a`, and `downscale_token_b` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm/state.rs:290:12
[INFO] [stdout]     |
[INFO] [stdout] 288 | impl TokenMultiplier {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] 289 |     /// Upscale the token amount using token_a_multiplier.
[INFO] [stdout] 290 |     pub fn upscale_token_a(&self, token_amount: u128) -> Option<u128> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn upscale_token_b(&self, token_amount: u128) -> Option<u128> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn downscale_token_a(&self, token_amount: u128) -> Option<u128> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     pub fn downscale_token_b(&self, token_amount: u128) -> Option<u128> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_none` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm/state.rs:321:12
[INFO] [stdout]     |
[INFO] [stdout] 319 | impl DepegType {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 320 |     /// Check whether the pool is a depeg pool or not
[INFO] [stdout] 321 |     pub fn is_none(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTANT_PRODUCT_TRADE_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const CONSTANT_PRODUCT_TRADE_FEE_NUMERATOR: u64 = 250;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STABLE_SWAP_TRADE_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub const STABLE_SWAP_TRADE_FEE_NUMERATOR: u64 = 10;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTANT_PRODUCT_PROTOCOL_TRADE_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub const CONSTANT_PRODUCT_PROTOCOL_TRADE_FEE_NUMERATOR: u64 = 0; // Set all protocol fees to zero, we will enable later when we have...
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STABLE_SWAP_PROTOCOL_TRADE_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub const STABLE_SWAP_PROTOCOL_TRADE_FEE_NUMERATOR: u64 = 0; // Set all protocol fees to zero, we will enable later when we have ve(3...
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HOST_TRADE_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub const HOST_TRADE_FEE_NUMERATOR: u64 = 20000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEE_DENOMINATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:35:15
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub const FEE_DENOMINATOR: u64 = 100000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_FEE_BPS` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub const MAX_FEE_BPS: u64 = 1500; // 15%
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BASIS_POINT` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub const MAX_BASIS_POINT: u64 = 10000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEME_MIN_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:42:15
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub const MEME_MIN_FEE_NUMERATOR: u64 = 250; // 250 / FEE_DENOMINATOR = 0.25%
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEME_MAX_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub const MEME_MAX_FEE_NUMERATOR: u64 = 15000; // 15_000 / FEE_DENOMINATOR = 15%
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEME_MIN_FEE_BPS` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub const MEME_MIN_FEE_BPS: u64 = 25; // 0.25%
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEME_MAX_FEE_BPS` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:46:15
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub const MEME_MAX_FEE_BPS: u64 = 1500; // 15%
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEME_PROTOCOL_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:48:15
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub const MEME_PROTOCOL_FEE_NUMERATOR: u64 = 20000; // 20%
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEME_MIN_FEE_UPDATE_WINDOW_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub const MEME_MIN_FEE_UPDATE_WINDOW_DURATION: i64 = 60 * 30; // 30 minutes
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PARTNER_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:52:15
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub const MAX_PARTNER_FEE_NUMERATOR: u64 = 50000; // 50%
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fee` is never read
[INFO] [stdout]    --> programs/flashbot-solana/src/damm/util.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct QuoteResult {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fee: u64,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `QuoteResult` 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: constant `BASE_CACHE_EXPIRES` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm/util.rs:432:15
[INFO] [stdout]     |
[INFO] [stdout] 432 |     pub const BASE_CACHE_EXPIRES: u64 = 60 * 10;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRECISION` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm/util.rs:434:15
[INFO] [stdout]     |
[INFO] [stdout] 434 |     pub const PRECISION: u64 = 10_u64.pow(6_u32);
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_max_base_fee_numerator` and `get_min_base_fee_numerator` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/state/fee.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | impl BaseFeeStruct {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 93 |     pub fn get_max_base_fee_numerator(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn get_min_base_fee_numerator(&self) -> Result<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_delta_bin_id`, `update_volatility_accumulator`, and `update_references` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/state/fee.rs:231:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | impl DynamicFeeStruct {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub fn get_delta_bin_id(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn update_volatility_accumulator(&mut self, sqrt_price: u128) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn update_references(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fees_on_token_a` is never read
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/state/fee.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 316 | pub struct FeeMode {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 317 |     pub fees_on_input: bool,
[INFO] [stdout] 318 |     pub fees_on_token_a: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeeMode` 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 `increase_position`, `reduce_position`, and `accumulate_fee` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/state/pool.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl PoolMetrics {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 152 |     pub fn increase_position(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn reduce_position(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn accumulate_fee(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/state/pool.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl RewardInfo {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn initialized(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn init_reward(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn update_rewards(&mut self, liquidity_supply: u128, current_time: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn update_last_update_time(&mut self, current_time: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_seconds_elapsed_since_last_update(&self, current_time: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn calculate_reward_per_token_stored_since_last_update(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn accumulate_reward_per_token_stored(&mut self, delta: U256) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn reward_per_token_stored(&self) -> U256 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 307 |     pub fn update_rate_after_funding(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/state/pool.rs:341:12
[INFO] [stdout]     |
[INFO] [stdout] 340 | impl Pool {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 341 |     pub fn initialize(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn pool_reward_initialized(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 506 |     pub fn apply_swap_result(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 552 |     pub fn get_amounts_for_modify_liquidity(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 578 |     pub fn apply_add_liquidity(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 594 |     pub fn apply_remove_liquidity(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 610 |     pub fn get_max_amount_in(&self, trade_direction: TradeDirection) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 632 |     pub fn update_pre_swap(&mut self, current_timestamp: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 641 |     pub fn update_post_swap(&mut self, old_sqrt_price: u128, current_timestamp: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 660 |     pub fn accumulate_permanent_locked_liquidity(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 671 |     pub fn claim_protocol_fee(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 683 |     pub fn claim_partner_fee(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 696 |     pub fn update_rewards(&mut self, current_time: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 705 |     pub fn claim_ineligible_reward(&mut self, reward_index: usize) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 721 |     pub fn fee_a_per_liquidity(&self) -> U256 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 725 |     pub fn fee_b_per_liquidity(&self) -> U256 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModifyLiquidityResult` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/state/pool.rs:761:12
[INFO] [stdout]     |
[INFO] [stdout] 761 | pub struct ModifyLiquidityResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_rewards` and `reward_per_token_checkpoint` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/state/position.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl UserRewardInfo {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] 25 |     pub fn update_rewards(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn reward_per_token_checkpoint(&self) -> U256 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `accumulate_claimed_fee` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/state/position.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl PositionMetrics {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 88 |     pub fn accumulate_claimed_fee(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/state/position.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl Position {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 100 |     pub fn initialize(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn has_sufficient_liquidity(&self, liquidity: u128) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn get_total_liquidity(&self) -> Result<u128> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn lock(&mut self, total_lock_liquidity: u128) -> Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn permanent_lock_liquidity(&mut self, permanent_lock_liquidity: u128) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn update_fee(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn release_vested_liquidity(&mut self, released_liquidity: u128) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn add_liquidity(&mut self, liquidity_delta: u128) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn remove_unlocked_liquidity(&mut self, liquidity_delta: u128) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn reset_pending_fee(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn update_rewards(&mut self, pool: &mut RefMut<'_, Pool>, current_time: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn get_total_reward(&self, reward_index: usize) -> Result<u64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     fn accumulate_total_claimed_rewards(&mut self, reward_index: usize, reward: u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn claim_reward(&mut self, reward_index: usize) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn reset_all_pending_reward(&mut self, reward_index: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     pub fn fee_a_per_token_checkpoint(&self) -> U256 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn fee_b_per_token_checkpoint(&self) -> U256 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn is_empty(&self) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_SQRT_PRICE` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/damm_v2/constants.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const MIN_SQRT_PRICE: u128 = 4295048016;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SQRT_PRICE` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/damm_v2/constants.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const MAX_SQRT_PRICE: u128 = 79226673521066979257578248091;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIN_STEP_BPS_DEFAULT` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const BIN_STEP_BPS_DEFAULT: u16 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIN_STEP_BPS_U128_DEFAULT` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const BIN_STEP_BPS_U128_DEFAULT: u128 = 1844674407370955;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U24_MAX` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const U24_MAX: u32 = 0xffffff;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_REWARD_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const MIN_REWARD_DURATION: u64 = 24 * 60 * 60; // 1 day
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_REWARD_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const MAX_REWARD_DURATION: u64 = 31536000; // 1 year = 365 * 24 * 3600
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOL` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:125:7
[INFO] [stdout]     |
[INFO] [stdout] 125 | const SOL: Pubkey = pubkey!("So11111111111111111111111111111111111111112");
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USDC` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:126:7
[INFO] [stdout]     |
[INFO] [stdout] 126 | const USDC: Pubkey = pubkey!("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_QUOTE_MINTS` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:127:11
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub const DEFAULT_QUOTE_MINTS: [Pubkey; 2] = [SOL, USDC];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SLOT_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub const SLOT_BUFFER: u64 = 9000; // 1 slot = 400 mls => 1 hour
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TIME_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:46:15
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub const TIME_BUFFER: u64 = 3600; // 1 hour
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ACTIVATION_SLOT_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub const MAX_ACTIVATION_SLOT_DURATION: u64 = SLOT_BUFFER * 24 * 31; // 31 days
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ACTIVATION_TIME_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:56:15
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub const MAX_ACTIVATION_TIME_DURATION: u64 = TIME_BUFFER * 24 * 31; // 31 days
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_VESTING_SLOT_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:60:15
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub const MAX_VESTING_SLOT_DURATION: u64 = SLOT_BUFFER * 24 * 365 * 10; // 10 years
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_VESTING_TIME_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub const MAX_VESTING_TIME_DURATION: u64 = TIME_BUFFER * 24 * 365 * 10; // 10 years
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIVE_MINUTES_SLOT_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:63:15
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub const FIVE_MINUTES_SLOT_BUFFER: u64 = SLOT_BUFFER / 12; // 5 minutes
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIVE_MINUTES_TIME_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub const FIVE_MINUTES_TIME_BUFFER: u64 = TIME_BUFFER / 12; // 5 minutes
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_FEE_CURVE_TIME_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:67:15
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub const MAX_FEE_CURVE_TIME_DURATION: u64 = 3600 * 24; // 1 day
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_FEE_CURVE_SLOT_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub const MAX_FEE_CURVE_SLOT_DURATION: u64 = 9000 * 24; // 1 day
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_HIGH_TAX_TIME_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub const MAX_HIGH_TAX_TIME_DURATION: u64 = TIME_BUFFER / 6; // 10 minutes
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_HIGH_TAX_SLOT_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub const MAX_HIGH_TAX_SLOT_DURATION: u64 = SLOT_BUFFER / 6; // 10 minutes
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CUSTOMIZABLE_PROTOCOL_FEE_PERCENT` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub const CUSTOMIZABLE_PROTOCOL_FEE_PERCENT: u8 = 20; // 20%
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CUSTOMIZABLE_HOST_FEE_PERCENT` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:102:15
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub const CUSTOMIZABLE_HOST_FEE_PERCENT: u8 = 20; // 20%
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONFIG_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:106:15
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub const CONFIG_PREFIX: &[u8] = b"config";
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CUSTOMIZABLE_POOL_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:107:15
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub const CUSTOMIZABLE_POOL_PREFIX: &[u8] = b"cpool";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub const POOL_PREFIX: &[u8] = b"pool";
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOKEN_VAULT_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:109:15
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub const TOKEN_VAULT_PREFIX: &[u8] = b"token_vault";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_AUTHORITY_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub const POOL_AUTHORITY_PREFIX: &[u8] = b"pool_authority";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POSITION_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:111:15
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub const POSITION_PREFIX: &[u8] = b"position";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POSITION_NFT_ACCOUNT_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub const POSITION_NFT_ACCOUNT_PREFIX: &[u8] = b"position_nft_account";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOKEN_BADGE_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:113:15
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub const TOKEN_BADGE_PREFIX: &[u8] = b"token_badge";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REWARD_VAULT_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:114:15
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub const REWARD_VAULT_PREFIX: &[u8] = b"reward_vault";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLAIM_FEE_OPERATOR_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub const CLAIM_FEE_OPERATOR_PREFIX: &[u8] = b"cf_operator";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ID` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:121:15
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub const ID: Pubkey = pubkey!("4EWqcx3aNZmMetCnxwLYwyNjan6XLGp3Ca2W316vrSjv");
[INFO] [stdout]     |               ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul_shr` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/u128x128_math.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn mul_shr(x: u128, y: u128, offset: u8) -> Option<u128> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul_shr_256` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/u128x128_math.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn mul_shr_256(x: U256, y: U256, offset: u8) -> Option<u128> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shl_div` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/u128x128_math.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn shl_div(x: u128, y: u128, offset: u8, rounding: Rounding) -> Option<u128> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shl_div_256` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/u128x128_math.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn shl_div_256(x: u128, y: u128, offset: u8) -> Option<U256> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `safe_rem` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/safe_math.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub trait SafeMath<T>: Sized {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 10 |     fn safe_rem(self, rhs: Self) -> Result<Self, PoolError>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_mul_shr_cast` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/utils_math.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn safe_mul_shr_cast<T: FromPrimitive>(x: u128, y: u128, offset: u8) -> Result<T> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_mul_shr_256_cast` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/utils_math.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn safe_mul_shr_256_cast<T: FromPrimitive>(x: U256, y: U256, offset: u8) -> Result<T> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_shl_div_cast` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/utils_math.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn safe_shl_div_cast<T: FromPrimitive>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_initialize_amounts` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/damm_v2/curve.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn get_initialize_amounts(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdaptiveFeeTier` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/adaptive_fee_tier.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct AdaptiveFeeTier {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/adaptive_fee_tier.rs:36:15
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl AdaptiveFeeTier {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  36 |     pub const LEN: usize = 8 + 32 + 2 + 2 + 32 + 32 + 2 + 2 + 2 + 2 + 4 + 4 + 2 + 2 + 128;
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub fn initialize(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn update_initialize_pool_authority(&mut self, initialize_pool_authority: Pubkey) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn update_delegated_fee_authority(&mut self, delegated_fee_authority: Pubkey) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn update_default_base_fee_rate(&mut self, default_base_fee_rate: u16) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn update_adaptive_fee_constants(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn is_valid_initialize_pool_authority(&self, initialize_pool_authority: Pubkey) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn is_permissioned(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WhirlpoolsConfig` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/config.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct WhirlpoolsConfig {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `update_fee_authority`, `update_collect_protocol_fees_authority`, `initialize`, `update_reward_emissions_super_authority`, and `update_default_protocol_fee_rate` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/config.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl WhirlpoolsConfig {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 15 |     pub const LEN: usize = 8 + 96 + 4;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 16 |
[INFO] [stdout] 17 |     pub fn update_fee_authority(&mut self, fee_authority: Pubkey) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn update_collect_protocol_fees_authority(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn initialize(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn update_reward_emissions_super_authority(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn update_default_protocol_fee_rate(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WhirlpoolsConfigExtension` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/config_extension.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct WhirlpoolsConfigExtension {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `initialize`, `update_config_extension_authority`, and `update_token_badge_authority` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/config_extension.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl WhirlpoolsConfigExtension {
[INFO] [stdout]    | ------------------------------ associated items in this implementation
[INFO] [stdout] 12 |     pub const LEN: usize = 8 + 32 + 32 + 32 + 512;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |     pub fn initialize(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn update_config_extension_authority(&mut self, config_extension_authority: Pubkey) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn update_token_badge_authority(&mut self, token_badge_authority: Pubkey) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `MIN_LEN` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/dynamic_tick_array.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl DynamicTickArray {
[INFO] [stdout]    | --------------------- associated constant in this implementation
[INFO] [stdout] 85 |     pub const MIN_LEN: usize = DynamicTickArray::DISCRIMINATOR.len()
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `initialize` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/dynamic_tick_array.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl DynamicTickArrayLoader {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn initialize(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FeeTier` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/fee_tier.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FeeTier {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `initialize`, and `update_default_fee_rate` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/fee_tier.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl FeeTier {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 13 |     pub const LEN: usize = 8 + 32 + 4;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 14 |
[INFO] [stdout] 15 |     pub fn initialize(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn update_default_fee_rate(&mut self, default_fee_rate: u16) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN` and `initialize` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/fixed_tick_array.rs:35:15
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl TickArray {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 35 |     pub const LEN: usize = 8 + 36 + (Tick::LEN * TICK_ARRAY_SIZE_USIZE);
[INFO] [stdout]    |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn initialize(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TickArrayBuilder` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/fixed_tick_array.rs:181:16
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub struct TickArrayBuilder(TickArray);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `start_tick_index`, `whirlpool`, `tick`, `tick_with_offset`, `ticks`, and `build` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/fixed_tick_array.rs:184:16
[INFO] [stdout]     |
[INFO] [stdout] 183 |     impl TickArrayBuilder {
[INFO] [stdout]     |     --------------------- methods in this implementation
[INFO] [stdout] 184 |         pub fn start_tick_index(mut self, start_tick_index: i32) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |         pub fn whirlpool(mut self, whirlpool: Pubkey) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |         pub fn tick(mut self, tick: Tick, tick_index: i32, tick_spacing: u16) -> Self {
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |         pub fn tick_with_offset(mut self, tick: Tick, offset: usize) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |         pub fn ticks(mut self, ticks: [Tick; TICK_ARRAY_SIZE_USIZE]) -> Self {
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |         pub fn build(self) -> TickArray {
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockConfig` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/lock_config.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct LockConfig {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LockType` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/lock_config.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum LockType {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LockTypeLabel` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/lock_config.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum LockTypeLabel {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `initialize`, and `update_position_owner` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/lock_config.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl LockConfig {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 32 |     pub const LEN: usize = 8 + 32 + 32 + 32 + 8 + 1 + 128;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 33 |
[INFO] [stdout] 34 |     pub fn initialize(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn update_position_owner(&mut self, position_owner: Pubkey) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_TRADE_ENABLE_TIMESTAMP_DELTA` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/oracle.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const MAX_TRADE_ENABLE_TIMESTAMP_DELTA: u64 = 60 * 60 * 72; // 72 hours
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `validate_constants` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/oracle.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl AdaptiveFeeConstants {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn validate_constants(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `initialize`, `initialize_adaptive_fee_constants`, `update_adaptive_fee_variables`, and `reset_adaptive_fee_variables` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/oracle.rs:281:12
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl Oracle {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn initialize(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub fn initialize_adaptive_fee_constants(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn update_adaptive_fee_variables(&mut self, variables: AdaptiveFeeVariables) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn reset_adaptive_fee_variables(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_adaptive_fee_variables` and `load_mut` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/oracle.rs:385:12
[INFO] [stdout]     |
[INFO] [stdout] 351 | impl<'info> OracleAccessor<'info> {
[INFO] [stdout]     | --------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 385 |     pub fn update_adaptive_fee_variables(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 464 |     fn load_mut(&self) -> Result<RefMut<'_, Oracle>> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenPositionBumps` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/position.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct OpenPositionBumps {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenPositionWithMetadataBumps` is never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/position.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct OpenPositionWithMetadataBumps {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Position` is never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/position.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Position {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/position.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Position {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 38 |     pub const LEN: usize = 8 + 136 + 72;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 39 |
[INFO] [stdout] 40 |     pub fn is_position_empty(position: &Position) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn update(&mut self, update: &PositionUpdate) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn open_position(
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn reset_fees_owed(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn update_reward_owed(&mut self, index: usize, amount_owed: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn reset_position_range(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_tick_range_for_whirlpool` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/position.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn validate_tick_range_for_whirlpool(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PositionRewardInfo` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/position.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct PositionRewardInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PositionUpdate` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/position.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct PositionUpdate {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POSITION_BITMAP_USIZE` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/position_bundle.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const POSITION_BITMAP_USIZE: usize = 32;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POSITION_BUNDLE_SIZE` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/position_bundle.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const POSITION_BUNDLE_SIZE: u16 = 8 * POSITION_BITMAP_USIZE as u16;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PositionBundle` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/position_bundle.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct PositionBundle {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/position_bundle.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl PositionBundle {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 16 |     pub const LEN: usize = 8 + 32 + 32 + 64;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     pub fn initialize(&mut self, position_bundle_mint: Pubkey) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn is_deletable(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn open_bundled_position(&mut self, bundle_index: u16) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn close_bundled_position(&mut self, bundle_index: u16) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn update_bitmap(&mut self, bundle_index: u16, open: bool) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     fn is_valid_bundle_index(bundle_index: u16) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `full_range_indexes`, and `bound_tick_index` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/tick.rs:41:15
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl Tick {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  41 |     pub const LEN: usize = 113;
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn full_range_indexes(tick_spacing: u16) -> (i32, i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn bound_tick_index(tick_index: i32) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_variable_size` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/tick_array.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait TickArrayType {
[INFO] [stdout]    |           ------------- method in this trait
[INFO] [stdout] 21 |     fn is_variable_size(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `LoadedTickArray` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/tick_array.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub type LoadedTickArray<'a> = Ref<'a, dyn TickArrayType>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TickArraysMut` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/tick_array.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct TickArraysMut<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `deref` and `deref_mut` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/tick_array.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl<'a> TickArraysMut<'a> {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn deref(&self) -> (&dyn TickArrayType, &dyn TickArrayType) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn deref_mut(&mut self) -> (&mut dyn TickArrayType, Option<&mut dyn TickArrayType>) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `to_reward_growths` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/whirlpool.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl WhirlpoolRewardInfo {
[INFO] [stdout]    | ------------------------ associated functions in this implementation
[INFO] [stdout] 79 |     /// Creates a new `WhirlpoolRewardInfo` with the authority set
[INFO] [stdout] 80 |     pub fn new(authority: Pubkey) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn to_reward_growths(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WhirlpoolBumps` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/whirlpool.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct WhirlpoolBumps {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WhirlpoolBuilder` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/whirlpool.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub struct WhirlpoolBuilder {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/whirlpool.rs:142:16
[INFO] [stdout]     |
[INFO] [stdout] 141 |     impl WhirlpoolBuilder {
[INFO] [stdout]     |     --------------------- associated items in this implementation
[INFO] [stdout] 142 |         pub fn new() -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |         pub fn liquidity(mut self, liquidity: u128) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |         pub fn reward_last_updated_timestamp(mut self, reward_last_updated_timestamp: u64) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |         pub fn reward_info(mut self, index: usize, reward_info: WhirlpoolRewardInfo) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |         pub fn reward_infos(mut self, reward_infos: [WhirlpoolRewardInfo; NUM_REWARDS]) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |         pub fn tick_spacing(mut self, tick_spacing: u16) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |         pub fn tick_current_index(mut self, tick_current_index: i32) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |         pub fn sqrt_price(mut self, sqrt_price: u128) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |         pub fn fee_growth_global_a(mut self, fee_growth_global_a: u128) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |         pub fn fee_growth_global_b(mut self, fee_growth_global_b: u128) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |         pub fn fee_rate(mut self, fee_rate: u16) -> Self {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |         pub fn protocol_fee_rate(mut self, protocol_fee_rate: u16) -> Self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |         pub fn build(self) -> Whirlpool {
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TO_Q64` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/math/bit_math.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const TO_Q64: u128 = 1u128 << Q64_RESOLUTION;
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checked_mul_shift_right` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/bit_math.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn checked_mul_shift_right(n0: u128, n1: u128) -> Result<u64, ErrorCode> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checked_mul_shift_right_round_up_if` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/bit_math.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn checked_mul_shift_right_round_up_if(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `div_round_up` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/bit_math.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn div_round_up(n: u128, d: u128) -> Result<u128, ErrorCode> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_to_liquidity_delta` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/liquidity_math.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn convert_to_liquidity_delta(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULL_RANGE_ONLY_TICK_SPACING_THRESHOLD` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/tick_math.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const FULL_RANGE_ONLY_TICK_SPACING_THRESHOLD: u16 = 32768; // 2^15
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_FEE_RATE` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/token_math.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const MAX_FEE_RATE: u16 = 60_000;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PROTOCOL_FEE_RATE` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/token_math.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const MAX_PROTOCOL_FEE_RATE: u16 = 2_500;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `eq`, `lt`, `gt`, `gte`, and `get_add_inverse` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/math/u256_math.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl U256Muldiv {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn eq(&self, other: U256Muldiv) -> bool {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn lt(&self, other: U256Muldiv) -> bool {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn gt(&self, other: U256Muldiv) -> bool {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn gte(&self, other: U256Muldiv) -> bool {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn get_add_inverse(&self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_position_authority` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/shared.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn verify_position_authority(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_position_authority_interface` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/shared.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn verify_position_authority_interface(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_owner` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/shared.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn validate_owner(expected_owner: &Pubkey, owner_account_info: &AccountInfo) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/swap_tick_sequence.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'a> SwapTickSequence<'a> {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transfer_fee` is never read
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/v2/token.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct TransferFeeIncludedAmount {
[INFO] [stdout]    |            ------------------------- field in this struct
[INFO] [stdout] 21 |     pub amount: u64,
[INFO] [stdout] 22 |     pub transfer_fee: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TransferFeeIncludedAmount` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transfer_fee` is never read
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/v2/token.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct TransferFeeExcludedAmount {
[INFO] [stdout]    |            ------------------------- field in this struct
[INFO] [stdout] 27 |     pub amount: u64,
[INFO] [stdout] 28 |     pub transfer_fee: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TransferFeeExcludedAmount` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/account_load.rs:51:22
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn load_init(&self) -> Result<RefMut<T>> {
[INFO] [stdout]    |                      ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn load_init(&self) -> Result<RefMut<'_, T>> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/account_load.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub fn load(&self) -> Result<Ref<T>> {
[INFO] [stdout]     |                 ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub fn load(&self) -> Result<Ref<'_, T>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/account_load.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn load_mut(&self) -> Result<RefMut<T>> {
[INFO] [stdout]     |                     ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn load_mut(&self) -> Result<RefMut<'_, T>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `amount_out` is never read
[INFO] [stdout]    --> programs/flashbot-solana/src/utils.rs:365:26
[INFO] [stdout]     |
[INFO] [stdout] 365 |     let mut amount_out = 0;
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `destination_mint`
[INFO] [stdout]    --> programs/flashbot-solana/src/utils.rs:741:5
[INFO] [stdout]     |
[INFO] [stdout] 741 |     destination_mint: &'a AccountInfo<'a>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_destination_mint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_program`
[INFO] [stdout]   --> programs/flashbot-solana/src/lib.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let token_program = next_account_info(&mut remaining_accounts_iter)?;;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `into_u64`, `valid_status`, `deposit_permission`, `withdraw_permission`, and `swap_permission` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium/states.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl AmmStatus {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn into_u64(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn valid_status(status: u64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn deposit_permission(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn withdraw_permission(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn swap_permission(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AmmState` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium/states.rs:120:10
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub enum AmmState {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_u64`, `into_u64`, and `valid_state` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium/states.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl AmmState {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 130 |     pub fn from_u64(state: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn into_u64(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn valid_state(state: u64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `load` and `load_from_bytes` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium/states.rs:304:8
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub trait Loadable: Pod {
[INFO] [stdout]     |           -------- associated functions in this trait
[INFO] [stdout] ...
[INFO] [stdout] 304 |     fn load<'a>(account: &'a AccountInfo) -> Result<Ref<'a, Self>, ProgramError> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     fn load_from_bytes(data: &[u8]) -> Result<&Self, ProgramError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load_checked` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium/states.rs:332:12
[INFO] [stdout]     |
[INFO] [stdout] 315 | impl AmmInfo {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn load_checked<'a>(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PoolInfo` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium/states.rs:350:12
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub struct PoolInfo {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `swap_token_amount_base_out` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium/states.rs:451:12
[INFO] [stdout]     |
[INFO] [stdout] 412 | impl Calculator {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 451 |     pub fn swap_token_amount_base_out(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarketState` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium/states.rs:513:12
[INFO] [stdout]     |
[INFO] [stdout] 513 | pub struct MarketState {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_amount_in` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium/utils.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn get_amount_in(amount_out: u64, raydium_accounts: Vec<&AccountInfo>) -> Result<u64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `invoke_swap_base_out` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium/processor.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Processor {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn invoke_swap_base_out(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_SEED` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_cpmm/state.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const POOL_SEED: &str = "pool";
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_LP_MINT_SEED` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_cpmm/state.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const POOL_LP_MINT_SEED: &str = "pool_lp_mint";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_VAULT_SEED` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_cpmm/state.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const POOL_VAULT_SEED: &str = "pool_vault";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PoolStatusBitIndex` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/state.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum PoolStatusBitIndex {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PoolStatusBitFlag` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/state.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum PoolStatusBitFlag {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `initialize`, `set_status`, `set_status_by_bit`, and `get_status_by_bit` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_cpmm/state.rs:82:15
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl PoolState {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  82 |     pub const LEN: usize = 8 + 10 * 32 + 1 * 5 + 8 * 7 + 8 * 31;
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  83 |
[INFO] [stdout]  84 |     pub fn initialize(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn set_status(&mut self, status: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn set_status_by_bit(&mut self, bit: PoolStatusBitIndex, flag: PoolStatusBitFlag) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn get_status_by_bit(&self, bit: PoolStatusBitIndex) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AMM_CONFIG_SEED` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_cpmm/state.rs:162:11
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub const AMM_CONFIG_SEED: &str = "amm_config";
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `LEN` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_cpmm/state.rs:191:15
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl AmmConfig {
[INFO] [stdout]     | -------------- associated constant in this implementation
[INFO] [stdout] 191 |     pub const LEN: usize = 8 + 1 + 1 + 2 + 4 * 8 + 32 * 2 + 8 * 16;
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_transfer_inverse_fee` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/utils.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn get_transfer_inverse_fee(mint_info: &AccountInfo, post_fee_amount: u64) -> Result<u64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_amount_base_out` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_cpmm/utils.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn get_amount_base_out(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `calculate_pre_fee_amount` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/fees.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Fees {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn calculate_pre_fee_amount(post_fee_amount: u128, trade_fee_rate: u64) -> Option<u128> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `swap_base_output_without_fees` and `lp_tokens_to_trading_tokens` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/constant_product.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ConstantProductCurve {
[INFO] [stdout]    | ------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn swap_base_output_without_fees(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn lp_tokens_to_trading_tokens(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RoundDirection` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/calculator.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum RoundDirection {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `opposite` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/calculator.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl TradeDirection {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn opposite(&self) -> TradeDirection {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TradingTokenResult` is never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_cpmm/calculator.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct TradingTokenResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `validate_supply`, `swap_base_output`, and `lp_tokens_to_trading_tokens` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_cpmm/calculator.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl CurveCalculator {
[INFO] [stdout]     | -------------------- associated functions in this implementation
[INFO] [stdout]  79 |     pub fn validate_supply(token_0_amount: u64, token_1_amount: u64) -> anchor_lang::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn swap_base_output(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn lp_tokens_to_trading_tokens(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fee_growth_global_x64`, `fee_amount`, `protocol_fee`, and `fund_fee` are never read
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/instructions/swap.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct SwapState {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fee_growth_global_x64: u128,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     // the global fee of the input token
[INFO] [stdout] 28 |     pub fee_amount: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 29 |     // amount of input token paid as protocol fee
[INFO] [stdout] 30 |     pub protocol_fee: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 31 |     // amount of input token paid as fund fee
[INFO] [stdout] 32 |     pub fund_fee: u64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SwapState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AMM_CONFIG_SEED` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/config.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const AMM_CONFIG_SEED: &str = "amm_config";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPERATION_SEED` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/operation_account.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const OPERATION_SEED: &str = "operation";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPERATION_SIZE_USIZE` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/operation_account.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const OPERATION_SIZE_USIZE: usize = 10;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_MINT_SIZE_USIZE` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/operation_account.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const WHITE_MINT_SIZE_USIZE: usize = 100;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OperationState` is never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/operation_account.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct OperationState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/operation_account.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl OperationState {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 22 |     pub const LEN: usize = 8 + 1 + 32 * OPERATION_SIZE_USIZE + 32 * WHITE_MINT_SIZE_USIZE;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 23 |     pub fn initialize(&mut self, bump: u8) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn validate_operation_owner(&self, owner: Pubkey) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn validate_whitelist_mint(&self, mint: Pubkey) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn update_operation_owner(&mut self, keys: Vec<Pubkey>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn remove_operation_owner(&mut self, keys: Vec<Pubkey>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn update_whitelist_mint(&mut self, keys: Vec<Pubkey>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn remove_whitelist_mint(&mut self, keys: Vec<Pubkey>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBSERVATION_SEED` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/oracle.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const OBSERVATION_SEED: &str = "observation";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBSERVATION_NUM` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/oracle.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const OBSERVATION_NUM: usize = 100;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBSERVATION_UPDATE_DURATION_DEFAULT` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/oracle.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const OBSERVATION_UPDATE_DURATION_DEFAULT: u32 = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Observation` is never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/oracle.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Observation {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `LEN` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/oracle.rs:26:15
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Observation {
[INFO] [stdout]    | ---------------- associated constant in this implementation
[INFO] [stdout] 26 |     pub const LEN: usize = 4 + 8 + 8 * 4;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ObservationState` is never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/oracle.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ObservationState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `initialize`, and `update` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/oracle.rs:62:15
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl ObservationState {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 62 |     pub const LEN: usize = 8 + 1 + 8 + 2 + 32 + (Observation::LEN * OBSERVATION_NUM) + 8 * 4;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 63 |
[INFO] [stdout] 64 |     pub fn initialize(&mut self, pool_id: Pubkey) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn update(&mut self, block_timestamp: u32, tick: i32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_VAULT_SEED` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const POOL_VAULT_SEED: &str = "pool_vault";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_REWARD_VAULT_SEED` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const POOL_REWARD_VAULT_SEED: &str = "pool_reward_vault";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_TICK_ARRAY_BITMAP_SEED` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const POOL_TICK_ARRAY_BITMAP_SEED: &str = "pool_tick_array_bitmap_extension";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `OpenPositionOrIncreaseLiquidity`, `DecreaseLiquidity`, `CollectFee`, and `CollectReward` are never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum PoolStatusBitIndex {
[INFO] [stdout]    |          ------------------ variants in this enum
[INFO] [stdout] 34 |     OpenPositionOrIncreaseLiquidity,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     DecreaseLiquidity,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     CollectFee,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 37 |     CollectReward,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PoolStatusBitFlag` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum PoolStatusBitFlag {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `update_reward_infos`, `check_unclaimed_reward`, `add_reward_clamed`, and `get_tick_array_offset` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl PoolState {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 141 |     pub const LEN: usize = 8
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub fn update_reward_infos(&mut self, curr_timestamp: u64) -> Result<[RewardInfo; REWARD_NUM]> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     pub fn check_unclaimed_reward(&self, index: usize, reward_amount_owed: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 422 |     pub fn add_reward_clamed(&mut self, index: usize, amount: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     pub fn get_tick_array_offset(&self, tick_array_start_index: i32) -> Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RewardState` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:610:10
[INFO] [stdout]     |
[INFO] [stdout] 610 | pub enum RewardState {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `new`, `initialized`, and `get_reward_growths` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:651:15
[INFO] [stdout]     |
[INFO] [stdout] 650 | impl RewardInfo {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 651 |     pub const LEN: usize = 1 + 8 + 8 + 8 + 16 + 8 + 8 + 32 + 32 + 32 + 16;
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 654 |     pub fn new(authority: Pubkey) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 663 |     pub fn initialized(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 667 |     pub fn get_reward_growths(reward_infos: &[RewardInfo; REWARD_NUM]) -> [u128; REWARD_NUM] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PoolCreatedEvent` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:680:12
[INFO] [stdout]     |
[INFO] [stdout] 680 | pub struct PoolCreatedEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CollectProtocolFeeEvent` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:708:12
[INFO] [stdout]     |
[INFO] [stdout] 708 | pub struct CollectProtocolFeeEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SwapEvent` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:728:12
[INFO] [stdout]     |
[INFO] [stdout] 728 | pub struct SwapEvent {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LiquidityChangeEvent` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:771:12
[INFO] [stdout]     |
[INFO] [stdout] 771 | pub struct LiquidityChangeEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_REWARD_PERIOD` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub const MIN_REWARD_PERIOD: u64 = 7 * 24 * 60 * 60;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_REWARD_PERIOD` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub const MAX_REWARD_PERIOD: u64 = 90 * 24 * 60 * 60;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INCREASE_EMISSIONES_PERIOD` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/pool.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub const INCREASE_EMISSIONES_PERIOD: u64 = 72 * 60 * 60;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUPPORT_MINT_SEED` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/support_mint_associated.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const SUPPORT_MINT_SEED: &str = "support_mint";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SupportMintAssociated` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/states/support_mint_associated.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct SupportMintAssociated {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN` and `initialize` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/support_mint_associated.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl SupportMintAssociated {
[INFO] [stdout]    | -------------------------- associated items in this implementation
[INFO] [stdout] 17 |     pub const LEN: usize = 8 + 1 + 32 + 64;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 18 |
[INFO] [stdout] 19 |     pub fn initialize<'info>(&mut self, bump: u8, mint: Pubkey) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TICK_ARRAY_SEED` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/states/tick_array.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const TICK_ARRAY_SEED: &str = "tick_array";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/tick_array.rs:30:15
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl TickArrayState {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  30 |     pub const LEN: usize = 8 + 32 + 4 + TickState::LEN * TICK_ARRAY_SIZE_USIZE + 1 + 115;
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  31 |
[INFO] [stdout]  32 |     pub fn key(&self) -> Pubkey {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  44 |     pub fn get_or_create_tick_array<'info>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn initialize(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn update_initialized_tick_count(&mut self, add: bool) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn get_tick_state_mut(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn update_tick_state(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     fn get_tick_offset_in_array(self, tick_index: i32, tick_spacing: u16) -> Result<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn next_tick_arrary_start_index(&self, tick_spacing: u16, zero_for_one: bool) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `initialize`, `update`, `cross`, and `clear` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/tick_array.rs:289:15
[INFO] [stdout]     |
[INFO] [stdout] 288 | impl TickState {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 289 |     pub const LEN: usize = 4 + 16 + 16 + 16 + 16 + 16 * REWARD_NUM + 16 + 16 + 8 + 8 + 4;
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 290 |
[INFO] [stdout] 291 |     pub fn initialize(&mut self, tick: i32, tick_spacing: u16) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     pub fn update(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn cross(
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_fee_growth_inside` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/tick_array.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | pub fn get_fee_growth_inside(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_reward_growths_inside` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/tick_array.rs:443:8
[INFO] [stdout]     |
[INFO] [stdout] 443 | pub fn get_reward_growths_inside(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_tick_array_start_index` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/tick_array.rs:491:8
[INFO] [stdout]     |
[INFO] [stdout] 491 | pub fn check_tick_array_start_index(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_ticks_order` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/tick_array.rs:512:8
[INFO] [stdout]     |
[INFO] [stdout] 512 | pub fn check_ticks_order(tick_lower_index: i32, tick_upper_index: i32) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `initialize`, `key`, and `flip_tick_array_bit` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/states/tickarray_bitmap_extension.rs:31:15
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl TickArrayBitmapExtension {
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout]  31 |     pub const LEN: usize = 8 + 32 + 64 * EXTENSION_TICKARRAY_BITMAP_SIZE * 2;
[INFO] [stdout]     |               ^^^
[INFO] [stdout]  32 |
[INFO] [stdout]  33 |     pub fn initialize(&mut self, pool_id: Pubkey) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub fn key(pool_id: Pubkey) -> Pubkey {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn flip_tick_array_bit(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINT_WHITELIST` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const MINT_WHITELIST: [&'static str; 6] = [
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invoke_memo_instruction` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn invoke_memo_instruction<'info>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transfer_from_user_to_pool_vault` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn transfer_from_user_to_pool_vault<'info>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transfer_from_pool_vault_to_user` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn transfer_from_pool_vault_to_user<'info>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `close_spl_account` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn close_spl_account<'a, 'b, 'c, 'info>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `burn` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn burn<'a, 'b, 'c, 'info>(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_transfer_inverse_fee` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub fn get_transfer_inverse_fee(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_transfer_fee` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:219:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn get_transfer_fee(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `support_mint_associated_is_initialized` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub fn support_mint_associated_is_initialized(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_supported_mint` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:269:8
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub fn is_supported_mint(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_position_nft_mint_with_extensions` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:300:8
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub fn create_position_nft_mint_with_extensions<'info>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_token_vault_account` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/token.rs:389:8
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub fn create_token_vault_account<'info>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_or_allocate_account` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/raydium_clmm/util/system.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn create_or_allocate_account<'a>(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_recent_epoch` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/system.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn get_recent_epoch() -> Result<u64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountLoad` is never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/account_load.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct AccountLoad<'info, T: ZeroCopy> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/account_load.rs:17:8
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl<'info, T: ZeroCopy> AccountLoad<'info, T> {
[INFO] [stdout]     | ---------------------------------------------- associated items in this implementation
[INFO] [stdout]  17 |     fn new(acc_info: AccountInfo<'info>) -> AccountLoad<'info, T> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  26 |     pub fn try_from(acc_info: &AccountInfo<'info>) -> Result<AccountLoad<'info, T>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     pub fn try_from_unchecked(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn load_init(&self) -> Result<RefMut<T>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn load_data_mut<'a>(acc_info: &'a AccountInfo) -> Result<RefMut<'a, T>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn load(&self) -> Result<Ref<T>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn load_mut(&self) -> Result<RefMut<T>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_underflow_u64` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/libraries/full_math.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait MulDiv<RHS = Self> {
[INFO] [stdout]    |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn to_underflow_u64(self) -> u64;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_delta` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn add_delta(x: u128, y: i128) -> Result<u128> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_liquidity_from_amount_0` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn get_liquidity_from_amount_0(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_liquidity_from_amount_1` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn get_liquidity_from_amount_1(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_liquidity_from_amounts` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn get_liquidity_from_amounts(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_liquidity_from_single_amount_0` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub fn get_liquidity_from_single_amount_0(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_liquidity_from_single_amount_1` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn get_liquidity_from_single_amount_1(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_delta_amount_0_signed` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub fn get_delta_amount_0_signed(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_delta_amount_1_signed` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:256:8
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub fn get_delta_amount_1_signed(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_delta_amounts_signed` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/libraries/liquidity_math.rs:278:8
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub fn get_delta_amounts_signed(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIT_PRECISION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/libraries/tick_math.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const BIT_PRECISION: u32 = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_tick_at_sqrt_price` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/libraries/tick_math.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn get_tick_at_sqrt_price(sqrt_price_x64: u128) -> Result<i32, anchor_lang::error::Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `internal_quote_without_fees` and `max_quote` are never read
[INFO] [stdout]   --> programs/flashbot-solana/src/pump/util/util.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct BuyQuoteInputResult {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub internal_quote_without_fees: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     /// 最大报价（含滑点）
[INFO] [stdout] 13 |     pub max_quote: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BuyQuoteInputResult` 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: struct `SellQuoteInputResult` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/pump/util/util.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub struct SellQuoteInputResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sell_quote_input_internal` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/pump/util/util.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn sell_quote_input_internal(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_quote_amount_out` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/pump/util/util.rs:214:4
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn calculate_quote_amount_out(quote: u64, total_fee_bps: u64) -> Result<u64> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BuyBaseInputResult` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/pump/util/util.rs:231:12
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub struct BuyBaseInputResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `buy_base_input_internal` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/pump/util/util.rs:252:8
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub fn buy_base_input_internal(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `min_quote` and `internal_quote_amount_out` are never read
[INFO] [stdout]    --> programs/flashbot-solana/src/pump/util/util.rs:350:9
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub struct SellBaseInputResult {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub min_quote: u64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 351 |     /// 内部报价输出（不含费用）
[INFO] [stdout] 352 |     pub internal_quote_amount_out: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SellBaseInputResult` 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: methods `serialize` and `try_to_vec` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl LbPairAccount {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn serialize<W: std::io::Write>(&self, mut writer: W) -> std::io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn try_to_vec(&self) -> std::io::Result<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `protocol_fee_after_host_fee`, `host_fee`, and `is_exact_out_amount` are never read
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct SwapResult {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub protocol_fee_after_host_fee: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 219 |     /// Part of protocol fee
[INFO] [stdout] 220 |     pub host_fee: u64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 221 |     /// Indicate whether we reach exact out amount
[INFO] [stdout] 222 |     pub is_exact_out_amount: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SwapResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIN_ARRAY_BITMAP_EXTENSION_ACCOUNT_DISCM` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:240:11
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub const BIN_ARRAY_BITMAP_EXTENSION_ACCOUNT_DISCM: [u8; 8] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinArrayBitmapExtensionAccount` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:259:12
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub struct BinArrayBitmapExtensionAccount(pub BinArrayBitmapExtension);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `deserialize`, `serialize`, and `try_to_vec` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 260 | impl BinArrayBitmapExtensionAccount {
[INFO] [stdout]     | ----------------------------------- associated items in this implementation
[INFO] [stdout] 261 |     pub fn deserialize(buf: &[u8]) -> std::io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn serialize<W: std::io::Write>(&self, mut writer: W) -> std::io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn try_to_vec(&self) -> std::io::Result<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIN_ARRAY_ACCOUNT_DISCM` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:290:11
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub const BIN_ARRAY_ACCOUNT_DISCM: [u8; 8] = [92, 142, 92, 220, 5, 148, 70, 181];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinArrayAccount` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:303:12
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub struct BinArrayAccount(pub BinArray);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `deserialize`, `serialize`, and `try_to_vec` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/state.rs:305:12
[INFO] [stdout]     |
[INFO] [stdout] 304 | impl BinArrayAccount {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 305 |     pub fn deserialize(buf: &[u8]) -> std::io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn serialize<W: std::io::Write>(&self, mut writer: W) -> std::io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub fn try_to_vec(&self) -> std::io::Result<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fee` is never read
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/util.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SwapExactInQuote {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 14 |     pub amount_out: u64,
[INFO] [stdout] 15 |     pub fee: u64,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SwapExactInQuote` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SwapExactOutQuote` is never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/util.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct SwapExactOutQuote {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transfer_fee` is never read
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/util.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 337 | pub struct TransferFeeExcludedAmount {
[INFO] [stdout]     |            ------------------------- field in this struct
[INFO] [stdout] 338 |     pub amount: u64,
[INFO] [stdout] 339 |     pub transfer_fee: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TransferFeeExcludedAmount` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `calculate_out_amount` and `get_amount_in` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/util.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub trait BinExtension {
[INFO] [stdout]     |           ------------ associated items in this trait
[INFO] [stdout] ...
[INFO] [stdout] 391 |     fn calculate_out_amount(&self, liquidity_share: u128) -> Result<(u64, u64)>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     fn get_amount_in(amount_out: u64, price: u128, swap_for_y: bool) -> Result<u64>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_mul_div_cast` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/util.rs:782:8
[INFO] [stdout]     |
[INFO] [stdout] 782 | pub fn safe_mul_div_cast<T: FromPrimitive>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_bin_arrays_map` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/dlmm/util.rs:792:8
[INFO] [stdout]     |
[INFO] [stdout] 792 | pub fn build_bin_arrays_map(bin_array_accounts: &[AccountInfo]) -> Result<HashMap<Pubkey, BinArray>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_BIN_PER_POSITION` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/dlmm/constants.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const DEFAULT_BIN_PER_POSITION: usize = 70;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_RESIZE_LENGTH` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const MAX_RESIZE_LENGTH: usize = 70;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POSITION_MAX_LENGTH` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const POSITION_MAX_LENGTH: usize = 1400;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PROTOCOL_SHARE` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const MAX_PROTOCOL_SHARE: u16 = 2_500;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HOST_FEE_BPS` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const HOST_FEE_BPS: u16 = 2_000;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_REWARDS` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const NUM_REWARDS: usize = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_REWARD_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const MIN_REWARD_DURATION: u64 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_REWARD_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const MAX_REWARD_DURATION: u64 = 31536000; // 1 year = 365 * 24 * 3600
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_OBSERVATION_LENGTH` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const DEFAULT_OBSERVATION_LENGTH: u64 = 100;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE_LIFETIME` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const SAMPLE_LIFETIME: u64 = 120; // 2
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BASE_FACTOR_STEP` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const MAX_BASE_FACTOR_STEP: u16 = 100; // 100 bps, 1%
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_FEE_UPDATE_WINDOW` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const MAX_FEE_UPDATE_WINDOW: i64 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_REWARD_BIN_SPLIT` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const MAX_REWARD_BIN_SPLIT: usize = 15;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SLOT_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub const SLOT_BUFFER: u64 = 9000;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TIME_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const TIME_BUFFER: u64 = 3600;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ACTIVATION_SLOT_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const MAX_ACTIVATION_SLOT_DURATION: u64 = SLOT_BUFFER * 24 * 31; // 31 days
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ACTIVATION_TIME_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const MAX_ACTIVATION_TIME_DURATION: u64 = TIME_BUFFER * 24 * 31; // 31 days
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIVE_MINUTES_SLOT_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const FIVE_MINUTES_SLOT_BUFFER: u64 = SLOT_BUFFER / 12; // 5 minutes
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIVE_MINUTES_TIME_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const FIVE_MINUTES_TIME_BUFFER: u64 = TIME_BUFFER / 12; // 5 minutes
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ILM_PROTOCOL_SHARE` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const ILM_PROTOCOL_SHARE: u16 = 2000; // 20%
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BIN_STEP` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const MAX_BIN_STEP: u16 = 400;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BASE_FEE` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const MAX_BASE_FEE: u128 = 100_000_000; // 10% (10^9 * 10 / 100)
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_BASE_FEE` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/constants.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const MIN_BASE_FEE: u128 = 100_000; // 0.01% (10^9 * 0.01 / 100)
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `is_bin_id_within_range`, `get_bin_index_in_array`, `get_bin_array_lower_upper_bin_id`, `get_bin_mut`, and `get_bin` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/dlmm/bin_array.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub trait BinArrayExtension {
[INFO] [stdout]    |           ----------------- associated items in this trait
[INFO] [stdout] 10 |     fn is_bin_id_within_range(&self, bin_id: i32) -> Result<bool>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     fn get_bin_index_in_array(&self, bin_id: i32) -> Result<usize>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     fn get_bin_array_lower_upper_bin_id(index: i32) -> Result<(i32, i32)>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn get_bin_mut<'a>(&'a mut self, bin_id: i32) -> Result<&'a mut Bin>;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 18 |     fn get_bin<'a>(&'a self, bin_id: i32) -> Result<&'a Bin>;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HostFee` is never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct HostFee<'c, 'info> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `host_trading_fee` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm/state.rs:234:12
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl PoolFees {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 233 |     /// Calculate the host trading fee in trading tokens
[INFO] [stdout] 234 |     pub fn host_trading_fee(&self, trading_tokens: u128) -> Option<u128> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `upscale_token_a`, `upscale_token_b`, `downscale_token_a`, and `downscale_token_b` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm/state.rs:290:12
[INFO] [stdout]     |
[INFO] [stdout] 288 | impl TokenMultiplier {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] 289 |     /// Upscale the token amount using token_a_multiplier.
[INFO] [stdout] 290 |     pub fn upscale_token_a(&self, token_amount: u128) -> Option<u128> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn upscale_token_b(&self, token_amount: u128) -> Option<u128> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn downscale_token_a(&self, token_amount: u128) -> Option<u128> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     pub fn downscale_token_b(&self, token_amount: u128) -> Option<u128> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_none` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm/state.rs:321:12
[INFO] [stdout]     |
[INFO] [stdout] 319 | impl DepegType {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 320 |     /// Check whether the pool is a depeg pool or not
[INFO] [stdout] 321 |     pub fn is_none(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTANT_PRODUCT_TRADE_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const CONSTANT_PRODUCT_TRADE_FEE_NUMERATOR: u64 = 250;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STABLE_SWAP_TRADE_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub const STABLE_SWAP_TRADE_FEE_NUMERATOR: u64 = 10;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONSTANT_PRODUCT_PROTOCOL_TRADE_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub const CONSTANT_PRODUCT_PROTOCOL_TRADE_FEE_NUMERATOR: u64 = 0; // Set all protocol fees to zero, we will enable later when we have...
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STABLE_SWAP_PROTOCOL_TRADE_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub const STABLE_SWAP_PROTOCOL_TRADE_FEE_NUMERATOR: u64 = 0; // Set all protocol fees to zero, we will enable later when we have ve(3...
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HOST_TRADE_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub const HOST_TRADE_FEE_NUMERATOR: u64 = 20000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEE_DENOMINATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:35:15
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub const FEE_DENOMINATOR: u64 = 100000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_FEE_BPS` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub const MAX_FEE_BPS: u64 = 1500; // 15%
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BASIS_POINT` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub const MAX_BASIS_POINT: u64 = 10000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEME_MIN_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:42:15
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub const MEME_MIN_FEE_NUMERATOR: u64 = 250; // 250 / FEE_DENOMINATOR = 0.25%
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEME_MAX_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub const MEME_MAX_FEE_NUMERATOR: u64 = 15000; // 15_000 / FEE_DENOMINATOR = 15%
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEME_MIN_FEE_BPS` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub const MEME_MIN_FEE_BPS: u64 = 25; // 0.25%
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEME_MAX_FEE_BPS` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:46:15
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub const MEME_MAX_FEE_BPS: u64 = 1500; // 15%
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEME_PROTOCOL_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:48:15
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub const MEME_PROTOCOL_FEE_NUMERATOR: u64 = 20000; // 20%
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEME_MIN_FEE_UPDATE_WINDOW_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub const MEME_MIN_FEE_UPDATE_WINDOW_DURATION: i64 = 60 * 30; // 30 minutes
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PARTNER_FEE_NUMERATOR` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm/state.rs:52:15
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub const MAX_PARTNER_FEE_NUMERATOR: u64 = 50000; // 50%
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fee` is never read
[INFO] [stdout]    --> programs/flashbot-solana/src/damm/util.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct QuoteResult {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fee: u64,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `QuoteResult` 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: constant `BASE_CACHE_EXPIRES` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm/util.rs:432:15
[INFO] [stdout]     |
[INFO] [stdout] 432 |     pub const BASE_CACHE_EXPIRES: u64 = 60 * 10;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRECISION` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm/util.rs:434:15
[INFO] [stdout]     |
[INFO] [stdout] 434 |     pub const PRECISION: u64 = 10_u64.pow(6_u32);
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_max_base_fee_numerator` and `get_min_base_fee_numerator` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/state/fee.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | impl BaseFeeStruct {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 93 |     pub fn get_max_base_fee_numerator(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn get_min_base_fee_numerator(&self) -> Result<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_delta_bin_id`, `update_volatility_accumulator`, and `update_references` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/state/fee.rs:231:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | impl DynamicFeeStruct {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub fn get_delta_bin_id(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn update_volatility_accumulator(&mut self, sqrt_price: u128) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn update_references(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fees_on_token_a` is never read
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/state/fee.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 316 | pub struct FeeMode {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 317 |     pub fees_on_input: bool,
[INFO] [stdout] 318 |     pub fees_on_token_a: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FeeMode` 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 `increase_position`, `reduce_position`, and `accumulate_fee` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/state/pool.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl PoolMetrics {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 152 |     pub fn increase_position(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn reduce_position(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn accumulate_fee(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/state/pool.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl RewardInfo {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn initialized(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn init_reward(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn update_rewards(&mut self, liquidity_supply: u128, current_time: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn update_last_update_time(&mut self, current_time: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_seconds_elapsed_since_last_update(&self, current_time: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn calculate_reward_per_token_stored_since_last_update(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn accumulate_reward_per_token_stored(&mut self, delta: U256) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn reward_per_token_stored(&self) -> U256 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 307 |     pub fn update_rate_after_funding(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/state/pool.rs:341:12
[INFO] [stdout]     |
[INFO] [stdout] 340 | impl Pool {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 341 |     pub fn initialize(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn pool_reward_initialized(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 506 |     pub fn apply_swap_result(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 552 |     pub fn get_amounts_for_modify_liquidity(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 578 |     pub fn apply_add_liquidity(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 594 |     pub fn apply_remove_liquidity(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 610 |     pub fn get_max_amount_in(&self, trade_direction: TradeDirection) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 632 |     pub fn update_pre_swap(&mut self, current_timestamp: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 641 |     pub fn update_post_swap(&mut self, old_sqrt_price: u128, current_timestamp: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 660 |     pub fn accumulate_permanent_locked_liquidity(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 671 |     pub fn claim_protocol_fee(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 683 |     pub fn claim_partner_fee(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 696 |     pub fn update_rewards(&mut self, current_time: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 705 |     pub fn claim_ineligible_reward(&mut self, reward_index: usize) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 721 |     pub fn fee_a_per_liquidity(&self) -> U256 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 725 |     pub fn fee_b_per_liquidity(&self) -> U256 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModifyLiquidityResult` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/state/pool.rs:761:12
[INFO] [stdout]     |
[INFO] [stdout] 761 | pub struct ModifyLiquidityResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_rewards` and `reward_per_token_checkpoint` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/state/position.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl UserRewardInfo {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] 25 |     pub fn update_rewards(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn reward_per_token_checkpoint(&self) -> U256 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `accumulate_claimed_fee` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/state/position.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl PositionMetrics {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 88 |     pub fn accumulate_claimed_fee(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/state/position.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl Position {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 100 |     pub fn initialize(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn has_sufficient_liquidity(&self, liquidity: u128) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn get_total_liquidity(&self) -> Result<u128> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn lock(&mut self, total_lock_liquidity: u128) -> Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn permanent_lock_liquidity(&mut self, permanent_lock_liquidity: u128) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn update_fee(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn release_vested_liquidity(&mut self, released_liquidity: u128) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn add_liquidity(&mut self, liquidity_delta: u128) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn remove_unlocked_liquidity(&mut self, liquidity_delta: u128) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn reset_pending_fee(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn update_rewards(&mut self, pool: &mut RefMut<'_, Pool>, current_time: u64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn get_total_reward(&self, reward_index: usize) -> Result<u64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     fn accumulate_total_claimed_rewards(&mut self, reward_index: usize, reward: u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn claim_reward(&mut self, reward_index: usize) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn reset_all_pending_reward(&mut self, reward_index: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     pub fn fee_a_per_token_checkpoint(&self) -> U256 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn fee_b_per_token_checkpoint(&self) -> U256 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn is_empty(&self) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_SQRT_PRICE` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/damm_v2/constants.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const MIN_SQRT_PRICE: u128 = 4295048016;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SQRT_PRICE` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/damm_v2/constants.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const MAX_SQRT_PRICE: u128 = 79226673521066979257578248091;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIN_STEP_BPS_DEFAULT` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const BIN_STEP_BPS_DEFAULT: u16 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIN_STEP_BPS_U128_DEFAULT` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const BIN_STEP_BPS_U128_DEFAULT: u128 = 1844674407370955;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U24_MAX` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const U24_MAX: u32 = 0xffffff;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_REWARD_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const MIN_REWARD_DURATION: u64 = 24 * 60 * 60; // 1 day
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_REWARD_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const MAX_REWARD_DURATION: u64 = 31536000; // 1 year = 365 * 24 * 3600
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOL` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:125:7
[INFO] [stdout]     |
[INFO] [stdout] 125 | const SOL: Pubkey = pubkey!("So11111111111111111111111111111111111111112");
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USDC` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:126:7
[INFO] [stdout]     |
[INFO] [stdout] 126 | const USDC: Pubkey = pubkey!("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_QUOTE_MINTS` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:127:11
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub const DEFAULT_QUOTE_MINTS: [Pubkey; 2] = [SOL, USDC];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SLOT_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub const SLOT_BUFFER: u64 = 9000; // 1 slot = 400 mls => 1 hour
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TIME_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:46:15
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub const TIME_BUFFER: u64 = 3600; // 1 hour
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ACTIVATION_SLOT_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub const MAX_ACTIVATION_SLOT_DURATION: u64 = SLOT_BUFFER * 24 * 31; // 31 days
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ACTIVATION_TIME_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:56:15
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub const MAX_ACTIVATION_TIME_DURATION: u64 = TIME_BUFFER * 24 * 31; // 31 days
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_VESTING_SLOT_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:60:15
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub const MAX_VESTING_SLOT_DURATION: u64 = SLOT_BUFFER * 24 * 365 * 10; // 10 years
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_VESTING_TIME_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub const MAX_VESTING_TIME_DURATION: u64 = TIME_BUFFER * 24 * 365 * 10; // 10 years
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIVE_MINUTES_SLOT_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:63:15
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub const FIVE_MINUTES_SLOT_BUFFER: u64 = SLOT_BUFFER / 12; // 5 minutes
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIVE_MINUTES_TIME_BUFFER` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub const FIVE_MINUTES_TIME_BUFFER: u64 = TIME_BUFFER / 12; // 5 minutes
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_FEE_CURVE_TIME_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:67:15
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub const MAX_FEE_CURVE_TIME_DURATION: u64 = 3600 * 24; // 1 day
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_FEE_CURVE_SLOT_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub const MAX_FEE_CURVE_SLOT_DURATION: u64 = 9000 * 24; // 1 day
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_HIGH_TAX_TIME_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub const MAX_HIGH_TAX_TIME_DURATION: u64 = TIME_BUFFER / 6; // 10 minutes
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_HIGH_TAX_SLOT_DURATION` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/constants.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub const MAX_HIGH_TAX_SLOT_DURATION: u64 = SLOT_BUFFER / 6; // 10 minutes
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CUSTOMIZABLE_PROTOCOL_FEE_PERCENT` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub const CUSTOMIZABLE_PROTOCOL_FEE_PERCENT: u8 = 20; // 20%
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CUSTOMIZABLE_HOST_FEE_PERCENT` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:102:15
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub const CUSTOMIZABLE_HOST_FEE_PERCENT: u8 = 20; // 20%
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONFIG_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:106:15
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub const CONFIG_PREFIX: &[u8] = b"config";
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CUSTOMIZABLE_POOL_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:107:15
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub const CUSTOMIZABLE_POOL_PREFIX: &[u8] = b"cpool";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub const POOL_PREFIX: &[u8] = b"pool";
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOKEN_VAULT_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:109:15
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub const TOKEN_VAULT_PREFIX: &[u8] = b"token_vault";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POOL_AUTHORITY_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub const POOL_AUTHORITY_PREFIX: &[u8] = b"pool_authority";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POSITION_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:111:15
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub const POSITION_PREFIX: &[u8] = b"position";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POSITION_NFT_ACCOUNT_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub const POSITION_NFT_ACCOUNT_PREFIX: &[u8] = b"position_nft_account";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOKEN_BADGE_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:113:15
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub const TOKEN_BADGE_PREFIX: &[u8] = b"token_badge";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REWARD_VAULT_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:114:15
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub const REWARD_VAULT_PREFIX: &[u8] = b"reward_vault";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLAIM_FEE_OPERATOR_PREFIX` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub const CLAIM_FEE_OPERATOR_PREFIX: &[u8] = b"cf_operator";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ID` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/damm_v2/constants.rs:121:15
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub const ID: Pubkey = pubkey!("4EWqcx3aNZmMetCnxwLYwyNjan6XLGp3Ca2W316vrSjv");
[INFO] [stdout]     |               ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul_shr` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/u128x128_math.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn mul_shr(x: u128, y: u128, offset: u8) -> Option<u128> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul_shr_256` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/u128x128_math.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn mul_shr_256(x: U256, y: U256, offset: u8) -> Option<u128> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shl_div` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/u128x128_math.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn shl_div(x: u128, y: u128, offset: u8, rounding: Rounding) -> Option<u128> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shl_div_256` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/u128x128_math.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn shl_div_256(x: u128, y: u128, offset: u8) -> Option<U256> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `safe_rem` and `safe_shr` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/safe_math.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub trait SafeMath<T>: Sized {
[INFO] [stdout]    |           -------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 10 |     fn safe_rem(self, rhs: Self) -> Result<Self, PoolError>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn safe_shr(self, offset: T) -> Result<Self, PoolError>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_mul_shr_cast` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/utils_math.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn safe_mul_shr_cast<T: FromPrimitive>(x: u128, y: u128, offset: u8) -> Result<T> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_mul_shr_256_cast` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/utils_math.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn safe_mul_shr_256_cast<T: FromPrimitive>(x: U256, y: U256, offset: u8) -> Result<T> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_shl_div_cast` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/damm_v2/math/utils_math.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn safe_shl_div_cast<T: FromPrimitive>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_initialize_amounts` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/damm_v2/curve.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn get_initialize_amounts(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdaptiveFeeTier` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/adaptive_fee_tier.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct AdaptiveFeeTier {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/adaptive_fee_tier.rs:36:15
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl AdaptiveFeeTier {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  36 |     pub const LEN: usize = 8 + 32 + 2 + 2 + 32 + 32 + 2 + 2 + 2 + 2 + 4 + 4 + 2 + 2 + 128;
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub fn initialize(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn update_initialize_pool_authority(&mut self, initialize_pool_authority: Pubkey) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn update_delegated_fee_authority(&mut self, delegated_fee_authority: Pubkey) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn update_default_base_fee_rate(&mut self, default_base_fee_rate: u16) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn update_adaptive_fee_constants(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn is_valid_initialize_pool_authority(&self, initialize_pool_authority: Pubkey) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn is_permissioned(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WhirlpoolsConfig` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/config.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct WhirlpoolsConfig {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `update_fee_authority`, `update_collect_protocol_fees_authority`, `initialize`, `update_reward_emissions_super_authority`, and `update_default_protocol_fee_rate` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/config.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl WhirlpoolsConfig {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 15 |     pub const LEN: usize = 8 + 96 + 4;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 16 |
[INFO] [stdout] 17 |     pub fn update_fee_authority(&mut self, fee_authority: Pubkey) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn update_collect_protocol_fees_authority(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn initialize(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn update_reward_emissions_super_authority(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn update_default_protocol_fee_rate(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WhirlpoolsConfigExtension` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/config_extension.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct WhirlpoolsConfigExtension {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `initialize`, `update_config_extension_authority`, and `update_token_badge_authority` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/config_extension.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl WhirlpoolsConfigExtension {
[INFO] [stdout]    | ------------------------------ associated items in this implementation
[INFO] [stdout] 12 |     pub const LEN: usize = 8 + 32 + 32 + 32 + 512;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |     pub fn initialize(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn update_config_extension_authority(&mut self, config_extension_authority: Pubkey) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn update_token_badge_authority(&mut self, token_badge_authority: Pubkey) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start_tick_index`, `whirlpool`, `tick_bitmap`, and `ticks` are never read
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/dynamic_tick_array.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct DynamicTickArray {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 77 |     pub start_tick_index: i32, // 4 bytes
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 78 |     pub whirlpool: Pubkey,     // 32 bytes
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 79 |     // 0: uninitialized, 1: initialized
[INFO] [stdout] 80 |     pub tick_bitmap: u128, // 16 bytes
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 81 |     pub ticks: [DynamicTick; TICK_ARRAY_SIZE_USIZE],
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `MIN_LEN` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/dynamic_tick_array.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl DynamicTickArray {
[INFO] [stdout]    | --------------------- associated constant in this implementation
[INFO] [stdout] 85 |     pub const MIN_LEN: usize = DynamicTickArray::DISCRIMINATOR.len()
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `initialize` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/dynamic_tick_array.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl DynamicTickArrayLoader {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn load(data: &[u8]) -> &DynamicTickArrayLoader {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn initialize(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FeeTier` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/fee_tier.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FeeTier {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `initialize`, and `update_default_fee_rate` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/fee_tier.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl FeeTier {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 13 |     pub const LEN: usize = 8 + 32 + 4;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 14 |
[INFO] [stdout] 15 |     pub fn initialize(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn update_default_fee_rate(&mut self, default_fee_rate: u16) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN` and `initialize` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/fixed_tick_array.rs:35:15
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl TickArray {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 35 |     pub const LEN: usize = 8 + 36 + (Tick::LEN * TICK_ARRAY_SIZE_USIZE);
[INFO] [stdout]    |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn initialize(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockConfig` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/lock_config.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct LockConfig {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LockType` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/lock_config.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum LockType {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LockTypeLabel` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/lock_config.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum LockTypeLabel {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `initialize`, and `update_position_owner` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/lock_config.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl LockConfig {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 32 |     pub const LEN: usize = 8 + 32 + 32 + 32 + 8 + 1 + 128;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 33 |
[INFO] [stdout] 34 |     pub fn initialize(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn update_position_owner(&mut self, position_owner: Pubkey) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_TRADE_ENABLE_TIMESTAMP_DELTA` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/oracle.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const MAX_TRADE_ENABLE_TIMESTAMP_DELTA: u64 = 60 * 60 * 72; // 72 hours
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN` and `validate_constants` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/oracle.rs:56:15
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl AdaptiveFeeConstants {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 56 |     pub const LEN: usize = 2 + 2 + 2 + 4 + 4 + 2 + 2 + 16;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn validate_constants(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `LEN` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/oracle.rs:138:15
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl AdaptiveFeeVariables {
[INFO] [stdout]     | ------------------------- associated constant in this implementation
[INFO] [stdout] 138 |     pub const LEN: usize = 8 + 8 + 4 + 4 + 4 + 16;
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `initialize`, `initialize_adaptive_fee_constants`, `update_adaptive_fee_variables`, and `reset_adaptive_fee_variables` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/oracle.rs:278:15
[INFO] [stdout]     |
[INFO] [stdout] 277 | impl Oracle {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 278 |     pub const LEN: usize = 8 + 32 + 8 + AdaptiveFeeConstants::LEN + AdaptiveFeeVariables::LEN + 128;
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn initialize(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub fn initialize_adaptive_fee_constants(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn update_adaptive_fee_variables(&mut self, variables: AdaptiveFeeVariables) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn reset_adaptive_fee_variables(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_adaptive_fee_variables` and `load_mut` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/oracle.rs:385:12
[INFO] [stdout]     |
[INFO] [stdout] 351 | impl<'info> OracleAccessor<'info> {
[INFO] [stdout]     | --------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 385 |     pub fn update_adaptive_fee_variables(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 464 |     fn load_mut(&self) -> Result<RefMut<'_, Oracle>> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenPositionBumps` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/position.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct OpenPositionBumps {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenPositionWithMetadataBumps` is never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/position.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct OpenPositionWithMetadataBumps {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Position` is never constructed
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/position.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Position {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/position.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Position {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 38 |     pub const LEN: usize = 8 + 136 + 72;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 39 |
[INFO] [stdout] 40 |     pub fn is_position_empty(position: &Position) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn update(&mut self, update: &PositionUpdate) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn open_position(
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn reset_fees_owed(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn update_reward_owed(&mut self, index: usize, amount_owed: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn reset_position_range(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_tick_range_for_whirlpool` is never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/position.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn validate_tick_range_for_whirlpool(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PositionRewardInfo` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/position.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct PositionRewardInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PositionUpdate` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/position.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct PositionUpdate {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POSITION_BITMAP_USIZE` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/position_bundle.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const POSITION_BITMAP_USIZE: usize = 32;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POSITION_BUNDLE_SIZE` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/position_bundle.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const POSITION_BUNDLE_SIZE: u16 = 8 * POSITION_BITMAP_USIZE as u16;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PositionBundle` is never constructed
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/state/position_bundle.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct PositionBundle {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/position_bundle.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl PositionBundle {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 16 |     pub const LEN: usize = 8 + 32 + 32 + 64;
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     pub fn initialize(&mut self, position_bundle_mint: Pubkey) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn is_deletable(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn open_bundled_position(&mut self, bundle_index: u16) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn close_bundled_position(&mut self, bundle_index: u16) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn update_bitmap(&mut self, bundle_index: u16, open: bool) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     fn is_valid_bundle_index(bundle_index: u16) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LEN`, `full_range_indexes`, and `bound_tick_index` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/tick.rs:41:15
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl Tick {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  41 |     pub const LEN: usize = 113;
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn full_range_indexes(tick_spacing: u16) -> (i32, i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn bound_tick_index(tick_index: i32) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_variable_size` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/tick_array.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait TickArrayType {
[INFO] [stdout]    |           ------------- method in this trait
[INFO] [stdout] 21 |     fn is_variable_size(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `LoadedTickArray` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/tick_array.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub type LoadedTickArray<'a> = Ref<'a, dyn TickArrayType>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TickArraysMut` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/tick_array.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct TickArraysMut<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `deref` and `deref_mut` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/tick_array.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl<'a> TickArraysMut<'a> {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn deref(&self) -> (&dyn TickArrayType, &dyn TickArrayType) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn deref_mut(&mut self) -> (&mut dyn TickArrayType, Option<&mut dyn TickArrayType>) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `to_reward_growths` are never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/state/whirlpool.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl WhirlpoolRewardInfo {
[INFO] [stdout]    | ------------------------ associated functions in this implementation
[INFO] [stdout] 79 |     /// Creates a new `WhirlpoolRewardInfo` with the authority set
[INFO] [stdout] 80 |     pub fn new(authority: Pubkey) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn to_reward_growths(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WhirlpoolBumps` is never constructed
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/state/whirlpool.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct WhirlpoolBumps {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TO_Q64` is never used
[INFO] [stdout]  --> programs/flashbot-solana/src/whirlpool/math/bit_math.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const TO_Q64: u128 = 1u128 << Q64_RESOLUTION;
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checked_mul_shift_right` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/bit_math.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn checked_mul_shift_right(n0: u128, n1: u128) -> Result<u64, ErrorCode> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checked_mul_shift_right_round_up_if` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/bit_math.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn checked_mul_shift_right_round_up_if(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `div_round_up` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/bit_math.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn div_round_up(n: u128, d: u128) -> Result<u128, ErrorCode> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_to_liquidity_delta` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/liquidity_math.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn convert_to_liquidity_delta(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULL_RANGE_ONLY_TICK_SPACING_THRESHOLD` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/tick_math.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const FULL_RANGE_ONLY_TICK_SPACING_THRESHOLD: u16 = 32768; // 2^15
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_FEE_RATE` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/token_math.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const MAX_FEE_RATE: u16 = 60_000;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PROTOCOL_FEE_RATE` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/math/token_math.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const MAX_PROTOCOL_FEE_RATE: u16 = 2_500;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `eq`, `lt`, `gt`, `gte`, and `get_add_inverse` are never used
[INFO] [stdout]    --> programs/flashbot-solana/src/whirlpool/math/u256_math.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl U256Muldiv {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn eq(&self, other: U256Muldiv) -> bool {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn lt(&self, other: U256Muldiv) -> bool {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn gt(&self, other: U256Muldiv) -> bool {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn gte(&self, other: U256Muldiv) -> bool {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn get_add_inverse(&self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_position_authority` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/shared.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn verify_position_authority(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_position_authority_interface` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/shared.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn verify_position_authority_interface(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_owner` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/shared.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn validate_owner(expected_owner: &Pubkey, owner_account_info: &AccountInfo) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/swap_tick_sequence.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'a> SwapTickSequence<'a> {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transfer_fee` is never read
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/v2/token.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct TransferFeeIncludedAmount {
[INFO] [stdout]    |            ------------------------- field in this struct
[INFO] [stdout] 21 |     pub amount: u64,
[INFO] [stdout] 22 |     pub transfer_fee: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TransferFeeIncludedAmount` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transfer_fee` is never read
[INFO] [stdout]   --> programs/flashbot-solana/src/whirlpool/util/v2/token.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct TransferFeeExcludedAmount {
[INFO] [stdout]    |            ------------------------- field in this struct
[INFO] [stdout] 27 |     pub amount: u64,
[INFO] [stdout] 28 |     pub transfer_fee: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TransferFeeExcludedAmount` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> programs/flashbot-solana/src/raydium_clmm/util/account_load.rs:51:22
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn load_init(&self) -> Result<RefMut<T>> {
[INFO] [stdout]    |                      ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn load_init(&self) -> Result<RefMut<'_, T>> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/account_load.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub fn load(&self) -> Result<Ref<T>> {
[INFO] [stdout]     |                 ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub fn load(&self) -> Result<Ref<'_, T>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> programs/flashbot-solana/src/raydium_clmm/util/account_load.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn load_mut(&self) -> Result<RefMut<T>> {
[INFO] [stdout]     |                     ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn load_mut(&self) -> Result<RefMut<'_, T>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 55.15s
[INFO] running `Command { std: "docker" "inspect" "17358c782a069fc864638fc1c033e20c75feb7b5438cf9c3e9f46992caa985cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17358c782a069fc864638fc1c033e20c75feb7b5438cf9c3e9f46992caa985cb", kill_on_drop: false }`
[INFO] [stdout] 17358c782a069fc864638fc1c033e20c75feb7b5438cf9c3e9f46992caa985cb
