[INFO] cloning repository https://github.com/touchmeangel/mev_sol
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/touchmeangel/mev_sol" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftouchmeangel%2Fmev_sol", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftouchmeangel%2Fmev_sol'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 493a33c34bd3e6a62b5edde30ed006ca5df6e3bc
[INFO] checking touchmeangel/mev_sol against try#a3a874232ae0a7586b5fbe7483c5a42e157bd62a for pr-151109
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftouchmeangel%2Fmev_sol" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/touchmeangel/mev_sol
[INFO] finished tweaking git repo https://github.com/touchmeangel/mev_sol
[INFO] tweaked toml for git repo https://github.com/touchmeangel/mev_sol written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/touchmeangel/mev_sol on toolchain a3a874232ae0a7586b5fbe7483c5a42e157bd62a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/touchmeangel/mev_sol 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" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0caa7699a4ec28b3fd88b1d5f2f17e6f532efc67498b6e11b8cf261e1b0c2055
[INFO] running `Command { std: "docker" "start" "-a" "0caa7699a4ec28b3fd88b1d5f2f17e6f532efc67498b6e11b8cf261e1b0c2055", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0caa7699a4ec28b3fd88b1d5f2f17e6f532efc67498b6e11b8cf261e1b0c2055", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0caa7699a4ec28b3fd88b1d5f2f17e6f532efc67498b6e11b8cf261e1b0c2055", kill_on_drop: false }`
[INFO] [stdout] 0caa7699a4ec28b3fd88b1d5f2f17e6f532efc67498b6e11b8cf261e1b0c2055
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 130b3262f2c0568670db3550296faf0046d0976d45aa5eddf0143bbdefc57d8b
[INFO] running `Command { std: "docker" "start" "-a" "130b3262f2c0568670db3550296faf0046d0976d45aa5eddf0143bbdefc57d8b", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling toml_parser v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling zerocopy v0.8.36
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling borsh v1.6.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking five8_core v0.1.2
[INFO] [stderr]     Checking solana-sanitize v2.2.1
[INFO] [stderr]     Checking solana-atomic-u64 v2.2.1
[INFO] [stderr]     Checking solana-decode-error v2.3.0
[INFO] [stderr]    Compiling zmij v1.0.17
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling bs58 v0.5.1
[INFO] [stderr]     Checking five8 v0.2.1
[INFO] [stderr]     Checking five8_const v0.1.4
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.8
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking solana-msg v2.2.1
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking solana-program-memory v2.3.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking five8_core v1.0.0
[INFO] [stderr]     Checking solana-sanitize v3.0.1
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]     Checking solana-atomic-u64 v3.0.0
[INFO] [stderr]     Checking five8 v1.0.0
[INFO] [stderr]     Checking five8_const v1.0.0
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]     Checking derivation-path v0.2.0
[INFO] [stderr]     Checking constant_time_eq v0.4.2
[INFO] [stderr]     Checking uriparse v0.6.4
[INFO] [stderr]     Checking qstring v0.7.2
[INFO] [stderr]     Checking solana-program-option v2.2.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking solana-precompile-error v2.2.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]     Checking solana-native-token v2.3.0
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking brotli-decompressor v5.0.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling libsecp256k1-core v0.2.2
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]     Checking flate2 v1.1.8
[INFO] [stderr]     Checking solana-big-mod-exp v2.2.1
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]     Checking solana-program-memory v3.1.0
[INFO] [stderr]     Checking brotli v8.0.2
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]     Checking solana-derivation-path v2.2.1
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking solana-seed-derivable v2.2.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling cc v1.2.54
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.2.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking socket2 v0.6.2
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]     Checking solana-define-syscall v2.3.0
[INFO] [stderr]     Checking compression-core v0.4.31
[INFO] [stderr]    Compiling libsecp256k1 v0.6.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling solana-version v2.3.13
[INFO] [stderr]     Checking solana-svm-feature-set v2.3.13
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling libsecp256k1-core v0.3.0
[INFO] [stderr]    Compiling fixed v1.28.0
[INFO] [stderr]     Checking humantime v2.3.0
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]     Checking solana-security-txt v1.1.2
[INFO] [stderr]     Checking env_logger v0.9.3
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]     Checking solana-short-vec v3.1.0
[INFO] [stderr]    Compiling protoc-bin-vendored-linux-s390_64 v3.2.0
[INFO] [stderr]    Compiling multimap v0.10.1
[INFO] [stderr]    Compiling protoc-bin-vendored-linux-ppcle_64 v3.2.0
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]    Compiling protoc-bin-vendored-macos-x86_64 v3.2.0
[INFO] [stderr]    Compiling protoc-bin-vendored-win32 v3.2.0
[INFO] [stderr]     Checking solana-msg v3.0.0
[INFO] [stderr]    Compiling portable-atomic v1.13.0
[INFO] [stderr]     Checking solana-define-syscall v4.0.1
[INFO] [stderr]    Compiling protoc-bin-vendored-macos-aarch_64 v3.2.0
[INFO] [stderr]    Compiling protoc-bin-vendored-linux-aarch_64 v3.2.0
[INFO] [stderr]    Compiling protoc-bin-vendored-linux-x86_32 v3.2.0
[INFO] [stderr]    Compiling protoc-bin-vendored-linux-x86_64 v3.2.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]     Checking solana-logger v2.3.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling protoc-bin-vendored v3.2.0
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking chrono v0.4.43
[INFO] [stderr]    Compiling az v1.3.0
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.3.0
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.3.0
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]    Compiling blake3 v1.8.3
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]     Checking solana-time-utils v2.2.1
[INFO] [stderr]    Compiling libsecp256k1 v0.7.2
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]     Checking solana-big-mod-exp v3.0.0
[INFO] [stderr]     Checking compression-codecs v0.4.36
[INFO] [stderr]     Checking hash32 v0.3.1
[INFO] [stderr]    Compiling rust_decimal v1.40.0
[INFO] [stderr]     Checking ieee754 v0.2.6
[INFO] [stderr]     Checking solana-native-token v3.0.0
[INFO] [stderr]     Checking solana-program-option v3.0.0
[INFO] [stderr]     Checking fast-math v0.1.1
[INFO] [stderr]     Checking slow_primes v0.1.14
[INFO] [stderr]     Checking Inflector v0.11.4
[INFO] [stderr]     Checking solana-validator-exit v2.2.1
[INFO] [stderr]     Checking arc-swap v1.8.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking indicatif v0.17.11
[INFO] [stderr]     Checking backon v1.6.0
[INFO] [stderr]     Checking arcstr v1.2.0
[INFO] [stderr]     Checking base64ct v1.7.3
[INFO] [stderr]     Checking xxhash-rust v0.8.15
[INFO] [stderr]     Checking sha1_smol v1.0.1
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]     Checking pretty_assertions v1.4.1
[INFO] [stderr]    Compiling borsh-derive-internal v0.10.4
[INFO] [stderr]    Compiling borsh-schema-derive-internal v0.10.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling borsh-derive v1.6.0
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling zerocopy-derive v0.8.36
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling solana-sdk-macro v2.2.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking curve25519-dalek v3.2.0
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking pbkdf2 v0.11.0
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking hmac v0.8.1
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking hmac-drbg v0.3.0
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking solana-seed-phrase v2.2.1
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking merlin v3.0.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]    Compiling spl-discriminator-syn v0.2.1
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]    Compiling solana-sdk-macro v3.0.0
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]    Compiling spl-discriminator-derive v0.2.0
[INFO] [stderr]    Compiling num_enum_derive v0.7.5
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking aes-gcm-siv v0.11.1
[INFO] [stderr]    Compiling ark-serialize-derive v0.4.2
[INFO] [stderr]    Compiling spl-program-error-derive v0.5.0
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]    Compiling ark-ff-macros v0.4.2
[INFO] [stderr]    Compiling ark-ff-asm v0.4.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking webpki-roots v1.0.5
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking num_enum v0.7.5
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling serde_with_macros v3.16.1
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]    Compiling anchor-derive-space v0.32.1
[INFO] [stderr]     Checking webpki-roots v0.24.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking solana-hash v2.3.0
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]     Checking solana-sha256-hasher v2.3.0
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking serde-big-array v0.5.1
[INFO] [stderr]     Checking solana-hash v4.0.1
[INFO] [stderr]     Checking solana-program-error v3.0.0
[INFO] [stderr]     Checking bv v0.11.1
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking solana-sha256-hasher v3.1.0
[INFO] [stderr]     Checking solana-fee-calculator v2.2.1
[INFO] [stderr]     Checking solana-short-vec v2.2.1
[INFO] [stderr]     Checking solana-serde-varint v2.2.2
[INFO] [stderr]    Compiling anchor-syn v0.32.1
[INFO] [stderr]     Checking solana-instruction-error v2.1.0
[INFO] [stderr]     Checking solana-hash v3.1.0
[INFO] [stderr]     Checking solana-keccak-hasher v2.2.1
[INFO] [stderr]     Checking solana-blake3-hasher v2.2.1
[INFO] [stderr]     Checking solana-inflation v2.2.1
[INFO] [stderr]     Checking solana-commitment-config v2.2.1
[INFO] [stderr]     Checking ark-std v0.4.0
[INFO] [stderr]     Checking solana-reward-info v2.2.1
[INFO] [stderr]    Compiling anchor-lang-idl-spec v0.1.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking ark-serialize v0.4.2
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]     Checking solana-fee-calculator v3.0.0
[INFO] [stderr]     Checking solana-address v2.0.0
[INFO] [stderr]     Checking solana-curve25519 v2.3.13
[INFO] [stderr]     Checking solana-transaction-error v3.0.0
[INFO] [stderr]     Checking ed25519-dalek v1.0.1
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking ark-ff v0.4.2
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking solana-hard-forks v2.2.1
[INFO] [stderr]     Checking solana-signature v2.3.0
[INFO] [stderr]     Checking solana-sdk-ids v3.1.0
[INFO] [stderr]     Checking solana-sysvar-id v3.1.0
[INFO] [stderr]     Checking solana-pubkey v4.0.0
[INFO] [stderr]     Checking solana-address v1.1.0
[INFO] [stderr]     Checking ed25519-dalek-bip32 v0.2.0
[INFO] [stderr]     Checking solana-account-info v3.1.0
[INFO] [stderr]     Checking solana-slot-hashes v3.0.0
[INFO] [stderr]     Checking solana-instruction v3.1.0
[INFO] [stderr]    Compiling borsh-derive v0.10.4
[INFO] [stderr]     Checking solana-clock v3.0.0
[INFO] [stderr]     Checking solana-pubkey v3.0.0
[INFO] [stderr]    Compiling prost-types v0.13.5
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking k256 v0.13.4
[INFO] [stderr]     Checking solana-nonce v3.0.0
[INFO] [stderr]     Checking solana-message v3.0.1
[INFO] [stderr]     Checking solana-program-entrypoint v3.1.1
[INFO] [stderr]     Checking solana-address-lookup-table-interface v3.0.1
[INFO] [stderr]    Compiling anchor-lang-idl v0.1.2
[INFO] [stderr]     Checking solana-system-interface v2.0.0
[INFO] [stderr]     Checking solana-serialize-utils v3.1.0
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking borsh v0.10.4
[INFO] [stderr]     Checking solana-epoch-schedule v3.0.0
[INFO] [stderr]     Checking solana-epoch-rewards v3.0.0
[INFO] [stderr]     Checking solana-last-restart-slot v3.0.0
[INFO] [stderr]     Checking solana-rent v3.1.0
[INFO] [stderr]     Checking solana-slot-history v3.0.0
[INFO] [stderr]     Checking solana-shred-version v2.2.1
[INFO] [stderr]     Checking solana-keccak-hasher v3.1.0
[INFO] [stderr]     Checking serde_with v3.16.1
[INFO] [stderr]     Checking solana-cluster-type v2.2.1
[INFO] [stderr]     Checking solana-epoch-info v2.2.1
[INFO] [stderr]     Checking solana-poh-config v2.2.1
[INFO] [stderr]    Compiling cfg_eval v0.1.2
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking solana-sysvar v3.1.1
[INFO] [stderr]     Checking solana-instructions-sysvar v3.0.0
[INFO] [stderr]     Checking jsonrpc-core v18.0.0
[INFO] [stderr]     Checking solana-example-mocks v3.0.0
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]     Checking solana-pubkey v2.4.0
[INFO] [stderr]     Checking solana-borsh v2.2.1
[INFO] [stderr]     Checking solana-secp256k1-recover v3.1.0
[INFO] [stderr]     Checking kaigan v0.2.6
[INFO] [stderr]     Checking solana-cpi v3.1.0
[INFO] [stderr]     Checking solana-stable-layout v3.0.0
[INFO] [stderr]     Checking solana-epoch-stake v3.0.0
[INFO] [stderr]     Checking solana-program-pack v3.0.0
[INFO] [stderr]     Checking solana-blake3-hasher v3.1.0
[INFO] [stderr]     Checking solana-serde-varint v3.0.0
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking solana-borsh v3.0.0
[INFO] [stderr]     Checking solana-instruction v2.3.3
[INFO] [stderr]     Checking solana-sdk-ids v2.2.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking solana-nonce v2.2.1
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking async-compression v0.4.37
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking solana-sysvar-id v2.2.1
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking spl-generic-token v1.0.1
[INFO] [stderr]     Checking solana-epoch-schedule v2.2.1
[INFO] [stderr]     Checking solana-clock v2.2.2
[INFO] [stderr]     Checking solana-slot-hashes 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-rent v2.2.1
[INFO] [stderr]     Checking solana-slot-history v2.2.1
[INFO] [stderr]     Checking solana-epoch-rewards v2.2.1
[INFO] [stderr]     Checking solana-last-restart-slot v2.2.1
[INFO] [stderr]     Checking solana-bincode v2.2.1
[INFO] [stderr]     Checking solana-feature-set v2.2.5
[INFO] [stderr]     Checking solana-stable-layout v2.2.1
[INFO] [stderr]     Checking solana-account-info v2.3.0
[INFO] [stderr]     Checking solana-program-pack v2.2.1
[INFO] [stderr]     Checking spl-discriminator v0.4.1
[INFO] [stderr]     Checking solana-vote-interface v2.2.6
[INFO] [stderr]     Checking solana-signer v2.2.1
[INFO] [stderr]     Checking solana-message v2.4.0
[INFO] [stderr]     Checking solana-address-lookup-table-interface v2.2.2
[INFO] [stderr]     Checking solana-loader-v3-interface v5.0.0
[INFO] [stderr]     Checking solana-loader-v4-interface v2.2.1
[INFO] [stderr]     Checking solana-program-entrypoint v2.3.0
[INFO] [stderr]     Checking solana-cpi v2.2.1
[INFO] [stderr]     Checking solana-instructions-sysvar v2.2.2
[INFO] [stderr]     Checking solana-loader-v2-interface v2.2.1
[INFO] [stderr]     Checking solana-zk-sdk v2.3.13
[INFO] [stderr]     Checking solana-keypair v2.2.3
[INFO] [stderr]     Checking solana-stake-interface v1.2.1
[INFO] [stderr]     Checking spl-program-error v0.7.0
[INFO] [stderr]     Checking agave-feature-set v2.3.13
[INFO] [stderr]     Checking hyper-util v0.1.19
[INFO] [stderr]     Checking solana-invoke v0.4.0
[INFO] [stderr]     Checking spl-memo v6.0.0
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking solana-loader-v3-interface v3.0.0
[INFO] [stderr]    Compiling pbjson-build v0.7.0
[INFO] [stderr]    Compiling prost-build v0.13.5
[INFO] [stderr]     Checking solana-secp256r1-program v2.2.4
[INFO] [stderr]     Checking solana-ed25519-program v2.2.3
[INFO] [stderr]     Checking solana-example-mocks v2.2.1
[INFO] [stderr]     Checking solana-packet v2.2.1
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking solana-fee-structure v2.3.0
[INFO] [stderr]     Checking solana-sysvar v2.3.0
[INFO] [stderr]     Checking solana-reserved-account-keys v2.2.2
[INFO] [stderr]     Checking solana-quic-definitions v2.3.1
[INFO] [stderr]     Checking solana-presigner v2.2.1
[INFO] [stderr]     Checking tokio-tungstenite v0.20.1
[INFO] [stderr]     Checking solana-offchain-message v2.2.1
[INFO] [stderr]     Checking spl-associated-token-account-client v2.0.0
[INFO] [stderr]     Checking solana-compute-budget-interface v2.2.2
[INFO] [stderr]     Checking solana-program v3.0.0
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking solana-epoch-rewards-hasher v2.2.1
[INFO] [stderr]     Checking solana-rent-debits v2.2.1
[INFO] [stderr]     Checking spl-pod v0.5.1
[INFO] [stderr]     Checking solana-account v2.2.1
[INFO] [stderr]    Compiling anchor-attribute-access-control v0.32.1
[INFO] [stderr]    Compiling anchor-attribute-event v0.32.1
[INFO] [stderr]    Compiling anchor-derive-serde v0.32.1
[INFO] [stderr]     Checking solana-secp256k1-program v2.2.3
[INFO] [stderr]     Checking solana-secp256k1-recover v2.2.1
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]    Compiling anchor-attribute-constant v0.32.1
[INFO] [stderr]    Compiling anchor-attribute-program v0.32.1
[INFO] [stderr]     Checking solana-feature-gate-interface v2.2.2
[INFO] [stderr]     Checking spl-type-length-value v0.8.0
[INFO] [stderr]     Checking solana-account-decoder-client-types v2.3.13
[INFO] [stderr]     Checking solana-transaction-context v2.3.13
[INFO] [stderr]     Checking spl-token-confidential-transfer-proof-extraction v0.3.0
[INFO] [stderr]     Checking spl-token-group-interface v0.6.0
[INFO] [stderr]    Compiling anchor-attribute-error v0.32.1
[INFO] [stderr]    Compiling anchor-attribute-account v0.32.1
[INFO] [stderr]    Compiling anchor-derive-accounts v0.32.1
[INFO] [stderr]     Checking solana-precompiles v2.2.2
[INFO] [stderr]     Checking spl-token v8.0.0
[INFO] [stderr]     Checking spl-token-confidential-transfer-proof-generation v0.4.1
[INFO] [stderr]     Checking solana-program v2.3.0
[INFO] [stderr]     Checking spl-tlv-account-resolution v0.10.0
[INFO] [stderr]     Checking spl-token-metadata-interface v0.7.0
[INFO] [stderr]     Checking solana-transaction v2.2.3
[INFO] [stderr]     Checking spl-token-confidential-transfer-ciphertext-arithmetic v0.3.1
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking spl-elgamal-registry v0.2.0
[INFO] [stderr]     Checking solana-genesis-config v2.3.0
[INFO] [stderr]     Checking solana-config-program-client v0.0.2
[INFO] [stderr]     Checking solana-nonce-account v2.2.1
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking solana-serde v2.2.1
[INFO] [stderr]     Checking spl-transfer-hook-interface v0.10.0
[INFO] [stderr]     Checking pbjson v0.7.0
[INFO] [stderr]    Compiling switchboard-protos v0.2.4
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking faster-hex v0.10.0
[INFO] [stderr]     Checking solana-client-traits v2.2.1
[INFO] [stderr]     Checking solana-rent-collector v2.3.0
[INFO] [stderr]     Checking solana-system-transaction v2.2.1
[INFO] [stderr]    Compiling enum_dispatch v0.3.13
[INFO] [stderr]     Checking spl-token-2022 v8.0.1
[INFO] [stderr]     Checking anchor-lang v0.32.1
[INFO] [stderr]     Checking solana-transaction-status-client-types v2.3.13
[INFO] [stderr]     Checking ark-poly v0.4.2
[INFO] [stderr]     Checking reqwest-middleware v0.4.2
[INFO] [stderr]     Checking pythnet-sdk v2.3.1
[INFO] [stderr]     Checking solana-rpc-client-types v2.3.13
[INFO] [stderr]     Checking ark-ec v0.4.2
[INFO] [stderr]     Checking pyth-solana-receiver-sdk v1.1.0
[INFO] [stderr]     Checking spl-associated-token-account v7.0.0
[INFO] [stderr]     Checking solana-account-decoder v2.3.13
[INFO] [stderr]     Checking anchor-spl v0.32.1
[INFO] [stderr]     Checking ark-bn254 v0.4.0
[INFO] [stderr]     Checking solana-rpc-client-api v2.3.13
[INFO] [stderr]     Checking solana-pubsub-client v2.3.13
[INFO] [stderr]     Checking solana-bn254 v2.2.2
[INFO] [stderr]     Checking solana-sdk v2.3.1
[INFO] [stderr]     Checking solana-rpc-client v2.3.13
[INFO] [stderr]     Checking redis v1.0.2
[INFO] [stderr]     Checking switchboard-on-demand v0.11.3
[INFO] [stderr]     Checking anchor-client v0.32.1
[INFO] [stderr]    Compiling fixed-macro-impl v1.2.0
[INFO] [stderr]     Checking fixed-macro-types v1.2.0
[INFO] [stderr]     Checking fixed-macro v1.2.0
[INFO] [stderr]     Checking protocols v0.1.0 (/opt/rustwide/workdir/protocols)
[INFO] [stdout] warning: unused import: `pulse_health::*`
[INFO] [stdout]  --> protocols/src/marginfi/instructions/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use pulse_health::*;
[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: `pulse_health::*`
[INFO] [stdout]  --> protocols/src/marginfi/instructions/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use pulse_health::*;
[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: `fixed_macro::types::I80F48`
[INFO] [stdout]  --> protocols/src/marginfi/types/drift_mocks_state.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use fixed_macro::types::I80F48;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fixed_macro::types::I80F48`
[INFO] [stdout]  --> protocols/src/marginfi/types/drift_mocks_state.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use fixed_macro::types::I80F48;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::consts::MARGINFI_PROGRAM_ID`
[INFO] [stdout]  --> protocols/src/marginfi/types/kamino_mocks_state.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::consts::MARGINFI_PROGRAM_ID;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::consts::MARGINFI_PROGRAM_ID`
[INFO] [stdout]  --> protocols/src/marginfi/types/kamino_mocks_state.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::consts::MARGINFI_PROGRAM_ID;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NATIVE_STAKE_ID`, `PYTH_ID`, `SPL_SINGLE_POOL_ID`, and `SWITCHBOARD_PULL_ID`
[INFO] [stdout]  --> protocols/src/marginfi/types/price.rs:2:37
[INFO] [stdout]   |
[INFO] [stdout] 2 |   MIN_PYTH_PUSH_VERIFICATION_LEVEL, NATIVE_STAKE_ID, PYTH_ID, SPL_SINGLE_POOL_ID,
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |   SWITCHBOARD_PULL_ID,
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `check`, `debug`, and `live`
[INFO] [stdout]   --> protocols/src/marginfi/types/price.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{check, check_eq, debug, live, math_error};
[INFO] [stdout]    |             ^^^^^            ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NATIVE_STAKE_ID`, `PYTH_ID`, `SPL_SINGLE_POOL_ID`, and `SWITCHBOARD_PULL_ID`
[INFO] [stdout]  --> protocols/src/marginfi/types/price.rs:2:37
[INFO] [stdout]   |
[INFO] [stdout] 2 |   MIN_PYTH_PUSH_VERIFICATION_LEVEL, NATIVE_STAKE_ID, PYTH_ID, SPL_SINGLE_POOL_ID,
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |   SWITCHBOARD_PULL_ID,
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BankConfig`
[INFO] [stdout]   --> protocols/src/marginfi/types/price.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | use super::{Bank, BankConfig, OracleSetup};
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SPL_TOKEN_PROGRAM_ID`
[INFO] [stdout]   --> protocols/src/marginfi/types/price.rs:24:54
[INFO] [stdout]    |
[INFO] [stdout] 24 |   CurrentResult, Discriminator, PullFeedAccountData, SPL_TOKEN_PROGRAM_ID,
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `check`, `debug`, and `live`
[INFO] [stdout]   --> protocols/src/marginfi/types/price.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{check, check_eq, debug, live, math_error};
[INFO] [stdout]    |             ^^^^^            ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::consts::MARGINFI_PROGRAM_ID`
[INFO] [stdout]  --> protocols/src/marginfi/types/user_account.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::consts::MARGINFI_PROGRAM_ID;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BankConfig`
[INFO] [stdout]   --> protocols/src/marginfi/types/price.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | use super::{Bank, BankConfig, OracleSetup};
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SPL_TOKEN_PROGRAM_ID`
[INFO] [stdout]   --> protocols/src/marginfi/types/price.rs:24:54
[INFO] [stdout]    |
[INFO] [stdout] 24 |   CurrentResult, Discriminator, PullFeedAccountData, SPL_TOKEN_PROGRAM_ID,
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::consts::MARGINFI_PROGRAM_ID`
[INFO] [stdout]  --> protocols/src/marginfi/types/user_account.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::consts::MARGINFI_PROGRAM_ID;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kamino_mocks_state::*`
[INFO] [stdout]   --> protocols/src/marginfi/types/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use kamino_mocks_state::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kamino_mocks_state::*`
[INFO] [stdout]   --> protocols/src/marginfi/types/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use kamino_mocks_state::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fixed::types::I80F48`
[INFO] [stdout]   --> protocols/src/marginfi/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use fixed::types::I80F48;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `instructions::*`
[INFO] [stdout]   --> protocols/src/marginfi/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use instructions::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> protocols/src/marginfi/mod.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fixed::types::I80F48`
[INFO] [stdout]   --> protocols/src/marginfi/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use fixed::types::I80F48;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `instructions::*`
[INFO] [stdout]   --> protocols/src/marginfi/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use instructions::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> protocols/src/marginfi/mod.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `anchor_client::solana_sdk::borsh::try_from_slice_unchecked`: Please use `v0_10::try_from_slice_unchecked` instead
[INFO] [stdout]  --> protocols/src/marginfi/types/price.rs:7:40
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anchor_client::solana_sdk::{borsh::try_from_slice_unchecked, stake::state::StakeStateV2};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `anchor_client::solana_sdk::borsh::try_from_slice_unchecked`: Please use `v0_10::try_from_slice_unchecked` instead
[INFO] [stdout]    --> protocols/src/marginfi/types/price.rs:389:33
[INFO] [stdout]     |
[INFO] [stdout] 389 |               let stake_state = try_from_slice_unchecked::<StakeStateV2>(&stake_state.data)?;
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `anchor_client::solana_sdk::borsh::try_from_slice_unchecked`: Please use `v0_10::try_from_slice_unchecked` instead
[INFO] [stdout]  --> protocols/src/marginfi/types/price.rs:7:40
[INFO] [stdout]   |
[INFO] [stdout] 7 | use anchor_client::solana_sdk::{borsh::try_from_slice_unchecked, stake::state::StakeStateV2};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `anchor_client::solana_sdk::borsh::try_from_slice_unchecked`: Please use `v0_10::try_from_slice_unchecked` instead
[INFO] [stdout]    --> protocols/src/marginfi/types/price.rs:389:33
[INFO] [stdout]     |
[INFO] [stdout] 389 |               let stake_state = try_from_slice_unchecked::<StakeStateV2>(&stake_state.data)?;
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_signer`
[INFO] [stdout]   --> protocols/src/marginfi/instructions/pulse_health.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 |   fn to_account_metas(&self, is_signer: Option<bool>) -> Vec<AccountMeta> {
[INFO] [stdout]    |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_signer`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_signer`
[INFO] [stdout]   --> protocols/src/marginfi/instructions/pulse_health.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 |   fn to_account_metas(&self, is_signer: Option<bool>) -> Vec<AccountMeta> {
[INFO] [stdout]    |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_signer`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pubsub`, `client`, and `program` are never read
[INFO] [stdout]   --> protocols/src/marginfi/mod.rs:37:3
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Marginfi {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 37 |   pubsub: PubsubClient,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 38 |   rpc_client: RpcClient,
[INFO] [stdout] 39 |   client: Client<Rc<Keypair>>,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 40 |   program: Program<Rc<Keypair>>,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_anchor_event` is never used
[INFO] [stdout]   --> protocols/src/marginfi/mod.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn parse_anchor_event<T: anchor_lang::AnchorDeserialize>(data: &str) -> anyhow::Result<T> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PulseHealth` is never constructed
[INFO] [stdout]  --> protocols/src/marginfi/instructions/pulse_health.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct PulseHealth;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PulseHealthAccounts` is never constructed
[INFO] [stdout]   --> protocols/src/marginfi/instructions/pulse_health.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct PulseHealthAccounts {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APPLIES_TO_ISOLATED` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/emode.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub const APPLIES_TO_ISOLATED: u16 = 1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reconcile_emode_configs_classic` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/emode.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub fn reconcile_emode_configs_classic(configs: Vec<EmodeConfig>) -> EmodeConfig {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTEREST_CURVE_LEGACY` is never used
[INFO] [stdout]  --> protocols/src/marginfi/types/interest_rate.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const INTEREST_CURVE_LEGACY: u8 = 0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_points` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/interest_rate.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn make_points(points: &[RatePoint]) -> [RatePoint; CURVE_POINTS] {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `milli_to_u32` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/interest_rate.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn milli_to_u32(value: I80F48) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `centi_to_u32` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/interest_rate.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn centi_to_u32(value: I80F48) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InterestRateConfigOpt` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/types/interest_rate.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct InterestRateConfigOpt {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRICE_PRECISION` is never used
[INFO] [stdout]  --> protocols/src/marginfi/types/drift_mocks_state.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const PRICE_PRECISION: i64 = 1_000_000; // 10^6
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRICE_PRECISION_U64` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const PRICE_PRECISION_U64: u64 = 1_000_000; // 10^6
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PERCENTAGE_PRECISION` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const PERCENTAGE_PRECISION: u128 = 1_000_000; // 10^6
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASIS_PRECISION` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const BASIS_PRECISION: u32 = 10_000; // 10^4
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASIS_PRECISION_U128` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const BASIS_PRECISION_U128: u128 = 10_000; // 10^4
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DRIFT_PRECISION_EXP` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const DRIFT_PRECISION_EXP: u32 = 19;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DRIFT_SCALED_BALANCE_DECIMALS` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const DRIFT_SCALED_BALANCE_DECIMALS: u8 = 9;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SPOT_POSITIONS` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const MAX_SPOT_POSITIONS: usize = 8;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PERP_POSITIONS` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const MAX_PERP_POSITIONS: usize = 8;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPOT_BALANCE_TYPE_DEPOSIT` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const SPOT_BALANCE_TYPE_DEPOSIT: u8 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPOT_BALANCE_TYPE_BORROW` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const SPOT_BALANCE_TYPE_BORROW: u8 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_precision_increase` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn get_precision_increase(token_decimals: u32) -> Result<u128> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scale_drift_deposit_limit` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn scale_drift_deposit_limit(deposit_limit: u64, mint_decimals: u8) -> Result<I80F48> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPOT_MARKET_DISCRIMINATOR` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:94:11
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub const SPOT_MARKET_DISCRIMINATOR: [u8; 8] = [100, 177, 8, 107, 168, 65, 65, 39];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USER_DISCRIMINATOR` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:95:11
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub const USER_DISCRIMINATOR: [u8; 8] = [159, 117, 95, 227, 239, 151, 58, 236];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USER_STATS_DISCRIMINATOR` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:96:11
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub const USER_STATS_DISCRIMINATOR: [u8; 8] = [176, 223, 136, 27, 122, 79, 32, 227];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_being_liquidated` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/drift_mocks_state.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl MinimalUser {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 237 |     pub fn is_being_liquidated(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_scaled_balance`, `get_scaled_balance_decrement`, `get_scaled_balance_increment`, `get_withdraw_token_amount`, `adjust_oracle_price`, and `is_stale` are never used
[INFO] [stdout]    --> protocols/src/marginfi/types/drift_mocks_state.rs:271:8
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl MinimalSpotMarket {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn get_scaled_balance(&self, amount: u64, round_up: bool) -> Result<u64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub fn get_scaled_balance_decrement(&self, amount: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn get_scaled_balance_increment(&self, amount: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn get_withdraw_token_amount(&self, scaled_balance: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub fn adjust_oracle_price(&self, oracle_price: i64) -> Result<i64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 411 |     pub fn is_stale(&self, current_timestamp: i64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> protocols/src/marginfi/types/drift_mocks_state.rs:419:12
[INFO] [stdout]     |
[INFO] [stdout] 418 | impl MinimalUser {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 419 |     pub fn count_active_deposits(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 426 |     fn get_active_deposit_markets(&self) -> Vec<u16> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     pub fn validate_not_bricked_by_admin_deposits(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 461 |     pub fn validate_reward_accounts(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 500 |     pub fn validate_spot_position(&self, market_index: u16) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 544 |     pub fn get_scaled_balance(&self, market_index: u16) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 550 |     pub fn has_admin_deposit(&self, market_index: u16) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBLIGATION_DISCRIMINATOR` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/kamino_mocks_state.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const OBLIGATION_DISCRIMINATOR: [u8; 8] = [168, 206, 141, 106, 88, 76, 172, 167];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `collateral_to_liquidity`, `liquidity_to_collateral`, and `is_stale` are never used
[INFO] [stdout]    --> protocols/src/marginfi/types/kamino_mocks_state.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl MinimalReserve {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn collateral_to_liquidity(&self, collateral: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn liquidity_to_collateral(&self, liquidity: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn is_stale(&self, current_slot: u64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_decimals` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/kamino_mocks_state.rs:352:8
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub fn convert_decimals(n: I80F48, from_dec: u8, to_dec: u8) -> Result<I80F48> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collateral_to_liquidity_from_scaled` is never used
[INFO] [stdout]  --> protocols/src/marginfi/types/solend_mocks_state.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn collateral_to_liquidity_from_scaled(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shared_convert_decimals` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/solend_mocks_state.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn shared_convert_decimals(n: I80F48, from_dec: u8, to_dec: u8) -> Option<I80F48> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `liquidity_to_collateral_from_scaled` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/solend_mocks_state.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn liquidity_to_collateral_from_scaled(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_VERSION` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/solend_mocks_state.rs:96:11
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub const PROGRAM_VERSION: u8 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNINITIALIZED_VERSION` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/solend_mocks_state.rs:97:11
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub const UNINITIALIZED_VERSION: u8 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RESERVE_DISCRIMINATOR` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:101:11
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub const RESERVE_DISCRIMINATOR: [u8; 1] = [1];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RESERVE_LEN` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:107:11
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub const RESERVE_LEN: usize = 619;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBLIGATION_LEN` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:109:11
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub const OBLIGATION_LEN: usize = 1300;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LENDING_MARKET_LEN` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:110:11
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub const LENDING_MARKET_LEN: usize = 290;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `collateral_to_liquidity`, `liquidity_to_collateral`, `is_stale`, and `initial_exchange_rate` are never used
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl SolendMinimalReserve {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn collateral_to_liquidity(&self, collateral: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn liquidity_to_collateral(&self, liquidity: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub fn is_stale(&self) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn initial_exchange_rate(&self) -> I80F48 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_decimals` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn convert_decimals(n: I80F48, from_dec: u8, to_dec: u8) -> Result<I80F48> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CollateralExchangeRate` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub struct CollateralExchangeRate(pub I80F48);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_reserve`, `collateral_to_liquidity`, and `liquidity_to_collateral` are never used
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl CollateralExchangeRate {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] 272 |     /// Create from reserve state
[INFO] [stdout] 273 |     pub fn from_reserve(reserve: &SolendMinimalReserve) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn collateral_to_liquidity(&self, collateral_amount: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn liquidity_to_collateral(&self, liquidity_amount: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `High` is never constructed
[INFO] [stdout]   --> protocols/src/marginfi/types/price.rs:29:3
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum PriceBias {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 28 |   Low,
[INFO] [stdout] 29 |   High,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PriceBias` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TimeWeighted` is never constructed
[INFO] [stdout]   --> protocols/src/marginfi/types/price.rs:36:3
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum OraclePriceType {
[INFO] [stdout]    |          --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 36 |   TimeWeighted,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OraclePriceType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_price_of_type_ignore_conf` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/price.rs:50:6
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub trait PriceAdapter {
[INFO] [stdout]    |           ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 50 |   fn get_price_of_type_ignore_conf(
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `check_ais` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/price.rs:554:6
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl SwitchboardPullPriceFeed {
[INFO] [stdout]     | ----------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 554 |   fn check_ais(account: &solana_account::Account) -> MarginfiResult {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCOUNT_DISABLED` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/user_account.rs:103:11
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub const ACCOUNT_DISABLED: u64 = 1 << 0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCOUNT_IN_FLASHLOAN` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/user_account.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub const ACCOUNT_IN_FLASHLOAN: u64 = 1 << 1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCOUNT_FLAG_DEPRECATED` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/user_account.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub const ACCOUNT_FLAG_DEPRECATED: u64 = 1 << 2;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCOUNT_TRANSFER_AUTHORITY_DEPRECATED` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/user_account.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub const ACCOUNT_TRANSFER_AUTHORITY_DEPRECATED: u64 = 1 << 3;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCOUNT_IN_RECEIVERSHIP` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/user_account.rs:107:11
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub const ACCOUNT_IN_RECEIVERSHIP: u64 = 1 << 4;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCOUNT_IN_DELEVERAGE` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/user_account.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub const ACCOUNT_IN_DELEVERAGE: u64 = 1 << 5;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIQUIDITY_VAULT_AUTHORITY_SEED` is never used
[INFO] [stdout]  --> protocols/src/marginfi/consts.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LIQUIDITY_VAULT_AUTHORITY_SEED: &str = "liquidity_vault_auth";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INSURANCE_VAULT_AUTHORITY_SEED` is never used
[INFO] [stdout]  --> protocols/src/marginfi/consts.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const INSURANCE_VAULT_AUTHORITY_SEED: &str = "insurance_vault_auth";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEE_VAULT_AUTHORITY_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const FEE_VAULT_AUTHORITY_SEED: &str = "fee_vault_auth";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIQUIDITY_VAULT_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LIQUIDITY_VAULT_SEED: &str = "liquidity_vault";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INSURANCE_VAULT_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const INSURANCE_VAULT_SEED: &str = "insurance_vault";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEE_VAULT_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const FEE_VAULT_SEED: &str = "fee_vault";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEE_STATE_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const FEE_STATE_SEED: &str = "feestate";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STAKED_SETTINGS_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const STAKED_SETTINGS_SEED: &str = "staked_settings";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMISSIONS_AUTH_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const EMISSIONS_AUTH_SEED: &str = "emissions_auth_seed";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMISSIONS_TOKEN_ACCOUNT_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const EMISSIONS_TOKEN_ACCOUNT_SEED: &str = "emissions_token_account_seed";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIQUIDATION_RECORD_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const LIQUIDATION_RECORD_SEED: &str = "liq_record";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `METADATA_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const METADATA_SEED: &str = "metadata";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIQUIDATION_LIQUIDATOR_FEE` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const LIQUIDATION_LIQUIDATOR_FEE: I80F48 = I80F48!(0.025);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIQUIDATION_INSURANCE_FEE` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const LIQUIDATION_INSURANCE_FEE: I80F48 = I80F48!(0.025);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECONDS_PER_YEAR` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const SECONDS_PER_YEAR: I80F48 = I80F48!(31_536_000);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DAILY_RESET_INTERVAL` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const DAILY_RESET_INTERVAL: i64 = 24 * 60 * 60; // 24 hours
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ORACLE_MIN_AGE` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const ORACLE_MIN_AGE: u16 = 30;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SWB_ORACLE_AGE` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const MAX_SWB_ORACLE_AGE: u64 = 3 * 60;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USDC_EXPONENT` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const USDC_EXPONENT: i32 = 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NATIVE_STAKE_ID` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const NATIVE_STAKE_ID: Pubkey = pubkey!("Stake11111111111111111111111111111111111111");
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PYTH_ID` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const PYTH_ID: Pubkey = pubkey!("FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe4975bi2epH");
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPL_SINGLE_POOL_ID` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const SPL_SINGLE_POOL_ID: Pubkey = pubkey!("SVSPxpvHdN29nkVg9rPapPNDddN5DipNLRUFhyjFThE");
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SWITCHBOARD_PULL_ID` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const SWITCHBOARD_PULL_ID: Pubkey = pubkey!("SBondMDrcV3K4kxZR1HNVT7osZxAHVHgYXL5Ze1oMUv");
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BANKRUPT_THRESHOLD` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const BANKRUPT_THRESHOLD: I80F48 = I80F48!(0.1);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ZERO_AMOUNT_THRESHOLD` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const ZERO_AMOUNT_THRESHOLD: I80F48 = I80F48!(0.0001);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMISSIONS_FLAG_BORROW_ACTIVE` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:79:11
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub const EMISSIONS_FLAG_BORROW_ACTIVE: u64 = 1 << 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMISSIONS_FLAG_LENDING_ACTIVE` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const EMISSIONS_FLAG_LENDING_ACTIVE: u64 = 1 << 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PERMISSIONLESS_BAD_DEBT_SETTLEMENT_FLAG` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const PERMISSIONLESS_BAD_DEBT_SETTLEMENT_FLAG: u64 = 1 << 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FREEZE_SETTINGS` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const FREEZE_SETTINGS: u64 = 1 << 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLOSE_ENABLED_FLAG` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const CLOSE_ENABLED_FLAG: u64 = 1 << 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOKENLESS_REPAYMENTS_ALLOWED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const TOKENLESS_REPAYMENTS_ALLOWED: u64 = 1 << 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOKENLESS_REPAYMENTS_COMPLETE` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const TOKENLESS_REPAYMENTS_COMPLETE: u64 = 1 << 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PYTH_PUSH_MIGRATED_DEPRECATED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const PYTH_PUSH_MIGRATED_DEPRECATED: u8 = 1 << 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMISSION_FLAGS` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub const EMISSION_FLAGS: u64 = EMISSIONS_FLAG_BORROW_ACTIVE | EMISSIONS_FLAG_LENDING_ACTIVE;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GROUP_FLAGS` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub const GROUP_FLAGS: u64 = PERMISSIONLESS_BAD_DEBT_SETTLEMENT_FLAG
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_EMISSIONS_START_TIME` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub const MIN_EMISSIONS_START_TIME: u64 = 1681989983;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_EXP_10` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:129:11
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub const MAX_EXP_10: usize = 21;
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXP_10` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:130:11
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub const EXP_10: [u128; MAX_EXP_10] = [
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROTOCOL_FEE_RATE_DEFAULT` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:158:11
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub const PROTOCOL_FEE_RATE_DEFAULT: I80F48 = I80F48!(0.025);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROTOCOL_FEE_FIXED_DEFAULT` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:160:11
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub const PROTOCOL_FEE_FIXED_DEFAULT: I80F48 = I80F48!(0.01);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PYTH_SPONSORED_SHARD_ID` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:163:11
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub const PYTH_SPONSORED_SHARD_ID: u16 = 0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARGINFI_SPONSORED_SHARD_ID` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:165:11
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub const MARGINFI_SPONSORED_SHARD_ID: u16 = 3301;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASSET_TAG_SOL` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:171:11
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub const ASSET_TAG_SOL: u8 = 1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASSET_TAG_STAKED` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:174:11
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub const ASSET_TAG_STAKED: u8 = 2;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASSET_TAG_KAMINO` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:177:11
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub const ASSET_TAG_KAMINO: u8 = 3;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_KAMINO_POSITIONS` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:181:11
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub const MAX_KAMINO_POSITIONS: usize = 8;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GROUP` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:187:15
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub const GROUP: [u8; 8] = [182, 23, 173, 240, 151, 206, 182, 67];
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEE_STATE` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:190:15
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub const FEE_STATE: [u8; 8] = [63, 224, 16, 85, 193, 36, 235, 220];
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STAKED_SETTINGS` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:191:15
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub const STAKED_SETTINGS: [u8; 8] = [157, 140, 6, 77, 89, 173, 173, 125];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIQUIDATION_RECORD` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:192:15
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub const LIQUIDATION_RECORD: [u8; 8] = [95, 116, 23, 132, 89, 210, 245, 162];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INIT_LIQUIDATION_RECORD` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:196:15
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub const INIT_LIQUIDATION_RECORD: [u8; 8] = [236, 213, 238, 126, 147, 251, 164, 8];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `START_LIQUIDATION` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:197:15
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub const START_LIQUIDATION: [u8; 8] = [244, 93, 90, 214, 192, 166, 191, 21];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `END_LIQUIDATION` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub const END_LIQUIDATION: [u8; 8] = [110, 11, 244, 54, 229, 181, 22, 184];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LENDING_ACCOUNT_PULSE_HEALTH` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub const LENDING_ACCOUNT_PULSE_HEALTH: [u8; 8] = [186, 52, 117, 97, 34, 74, 39, 253];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LENDING_ACCOUNT_WITHDRAW` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:200:15
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub const LENDING_ACCOUNT_WITHDRAW: [u8; 8] = [36, 72, 74, 19, 210, 210, 192, 192];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LENDING_ACCOUNT_REPAY` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:201:15
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub const LENDING_ACCOUNT_REPAY: [u8; 8] = [79, 209, 172, 177, 222, 51, 173, 151];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LENDING_SETTLE_EMISSIONS` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:202:15
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub const LENDING_SETTLE_EMISSIONS: [u8; 8] = [234, 22, 84, 214, 118, 176, 140, 170];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LENDING_WITHDRAW_EMISSIONS` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:203:15
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub const LENDING_WITHDRAW_EMISSIONS: [u8; 8] = [161, 58, 136, 174, 242, 223, 156, 176];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KAMINO_WITHDRAW` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:204:15
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub const KAMINO_WITHDRAW: [u8; 8] = [199, 101, 41, 45, 213, 98, 224, 200];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `START_FLASHLOAN` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:205:15
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub const START_FLASHLOAN: [u8; 8] = [14, 131, 33, 220, 81, 186, 180, 107];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `END_FLASHLOAN` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:206:15
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub const END_FLASHLOAN: [u8; 8] = [105, 124, 201, 106, 153, 2, 8, 156];
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `START_DELEVERAGE` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:207:15
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub const START_DELEVERAGE: [u8; 8] = [10, 138, 10, 57, 40, 232, 182, 193];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `END_DELEVERAGE` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:208:15
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub const END_DELEVERAGE: [u8; 8] = [114, 14, 250, 143, 252, 104, 214, 209];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountEventHeader` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub struct AccountEventHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LendingAccountDepositEvent` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct LendingAccountDepositEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LendingAccountBorrowEvent` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub struct LendingAccountBorrowEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LendingAccountRepayEvent` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct LendingAccountRepayEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LendingAccountWithdrawEvent` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct LendingAccountWithdrawEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarginfiAccountCreateEvent` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct MarginfiAccountCreateEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarginfiAccountTransferToNewAccount` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct MarginfiAccountTransferToNewAccount {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthPulseEvent` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct HealthPulseEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pubsub`, `client`, and `program` are never read
[INFO] [stdout]   --> protocols/src/marginfi/mod.rs:37:3
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Marginfi {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 37 |   pubsub: PubsubClient,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 38 |   rpc_client: RpcClient,
[INFO] [stdout] 39 |   client: Client<Rc<Keypair>>,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 40 |   program: Program<Rc<Keypair>>,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_anchor_event` is never used
[INFO] [stdout]   --> protocols/src/marginfi/mod.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn parse_anchor_event<T: anchor_lang::AnchorDeserialize>(data: &str) -> anyhow::Result<T> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PulseHealth` is never constructed
[INFO] [stdout]  --> protocols/src/marginfi/instructions/pulse_health.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct PulseHealth;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PulseHealthAccounts` is never constructed
[INFO] [stdout]   --> protocols/src/marginfi/instructions/pulse_health.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct PulseHealthAccounts {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APPLIES_TO_ISOLATED` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/emode.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub const APPLIES_TO_ISOLATED: u16 = 1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reconcile_emode_configs_classic` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/emode.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub fn reconcile_emode_configs_classic(configs: Vec<EmodeConfig>) -> EmodeConfig {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTEREST_CURVE_LEGACY` is never used
[INFO] [stdout]  --> protocols/src/marginfi/types/interest_rate.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const INTEREST_CURVE_LEGACY: u8 = 0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_points` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/interest_rate.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn make_points(points: &[RatePoint]) -> [RatePoint; CURVE_POINTS] {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `milli_to_u32` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/interest_rate.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn milli_to_u32(value: I80F48) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `centi_to_u32` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/interest_rate.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn centi_to_u32(value: I80F48) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InterestRateConfigOpt` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/types/interest_rate.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct InterestRateConfigOpt {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRICE_PRECISION` is never used
[INFO] [stdout]  --> protocols/src/marginfi/types/drift_mocks_state.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const PRICE_PRECISION: i64 = 1_000_000; // 10^6
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRICE_PRECISION_U64` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const PRICE_PRECISION_U64: u64 = 1_000_000; // 10^6
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PERCENTAGE_PRECISION` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const PERCENTAGE_PRECISION: u128 = 1_000_000; // 10^6
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASIS_PRECISION` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const BASIS_PRECISION: u32 = 10_000; // 10^4
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASIS_PRECISION_U128` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const BASIS_PRECISION_U128: u128 = 10_000; // 10^4
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DRIFT_PRECISION_EXP` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const DRIFT_PRECISION_EXP: u32 = 19;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DRIFT_SCALED_BALANCE_DECIMALS` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const DRIFT_SCALED_BALANCE_DECIMALS: u8 = 9;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SPOT_POSITIONS` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const MAX_SPOT_POSITIONS: usize = 8;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PERP_POSITIONS` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const MAX_PERP_POSITIONS: usize = 8;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPOT_BALANCE_TYPE_DEPOSIT` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const SPOT_BALANCE_TYPE_DEPOSIT: u8 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPOT_BALANCE_TYPE_BORROW` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const SPOT_BALANCE_TYPE_BORROW: u8 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_precision_increase` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn get_precision_increase(token_decimals: u32) -> Result<u128> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scale_drift_deposit_limit` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn scale_drift_deposit_limit(deposit_limit: u64, mint_decimals: u8) -> Result<I80F48> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPOT_MARKET_DISCRIMINATOR` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:94:11
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub const SPOT_MARKET_DISCRIMINATOR: [u8; 8] = [100, 177, 8, 107, 168, 65, 65, 39];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USER_DISCRIMINATOR` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:95:11
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub const USER_DISCRIMINATOR: [u8; 8] = [159, 117, 95, 227, 239, 151, 58, 236];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USER_STATS_DISCRIMINATOR` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/drift_mocks_state.rs:96:11
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub const USER_STATS_DISCRIMINATOR: [u8; 8] = [176, 223, 136, 27, 122, 79, 32, 227];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_being_liquidated` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/drift_mocks_state.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl MinimalUser {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 237 |     pub fn is_being_liquidated(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_scaled_balance`, `get_scaled_balance_decrement`, `get_scaled_balance_increment`, `get_withdraw_token_amount`, `adjust_oracle_price`, and `is_stale` are never used
[INFO] [stdout]    --> protocols/src/marginfi/types/drift_mocks_state.rs:271:8
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl MinimalSpotMarket {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn get_scaled_balance(&self, amount: u64, round_up: bool) -> Result<u64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub fn get_scaled_balance_decrement(&self, amount: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn get_scaled_balance_increment(&self, amount: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn get_withdraw_token_amount(&self, scaled_balance: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub fn adjust_oracle_price(&self, oracle_price: i64) -> Result<i64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 411 |     pub fn is_stale(&self, current_timestamp: i64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> protocols/src/marginfi/types/drift_mocks_state.rs:419:12
[INFO] [stdout]     |
[INFO] [stdout] 418 | impl MinimalUser {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 419 |     pub fn count_active_deposits(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 426 |     fn get_active_deposit_markets(&self) -> Vec<u16> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     pub fn validate_not_bricked_by_admin_deposits(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 461 |     pub fn validate_reward_accounts(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 500 |     pub fn validate_spot_position(&self, market_index: u16) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 544 |     pub fn get_scaled_balance(&self, market_index: u16) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 550 |     pub fn has_admin_deposit(&self, market_index: u16) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBLIGATION_DISCRIMINATOR` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/kamino_mocks_state.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const OBLIGATION_DISCRIMINATOR: [u8; 8] = [168, 206, 141, 106, 88, 76, 172, 167];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `collateral_to_liquidity`, `liquidity_to_collateral`, and `is_stale` are never used
[INFO] [stdout]    --> protocols/src/marginfi/types/kamino_mocks_state.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl MinimalReserve {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn collateral_to_liquidity(&self, collateral: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn liquidity_to_collateral(&self, liquidity: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn is_stale(&self, current_slot: u64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_decimals` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/kamino_mocks_state.rs:352:8
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub fn convert_decimals(n: I80F48, from_dec: u8, to_dec: u8) -> Result<I80F48> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collateral_to_liquidity_from_scaled` is never used
[INFO] [stdout]  --> protocols/src/marginfi/types/solend_mocks_state.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn collateral_to_liquidity_from_scaled(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shared_convert_decimals` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/solend_mocks_state.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn shared_convert_decimals(n: I80F48, from_dec: u8, to_dec: u8) -> Option<I80F48> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `liquidity_to_collateral_from_scaled` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/solend_mocks_state.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn liquidity_to_collateral_from_scaled(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRAM_VERSION` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/solend_mocks_state.rs:96:11
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub const PROGRAM_VERSION: u8 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNINITIALIZED_VERSION` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/solend_mocks_state.rs:97:11
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub const UNINITIALIZED_VERSION: u8 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RESERVE_DISCRIMINATOR` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:101:11
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub const RESERVE_DISCRIMINATOR: [u8; 1] = [1];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RESERVE_LEN` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:107:11
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub const RESERVE_LEN: usize = 619;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBLIGATION_LEN` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:109:11
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub const OBLIGATION_LEN: usize = 1300;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LENDING_MARKET_LEN` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:110:11
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub const LENDING_MARKET_LEN: usize = 290;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `collateral_to_liquidity`, `liquidity_to_collateral`, `is_stale`, and `initial_exchange_rate` are never used
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl SolendMinimalReserve {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn collateral_to_liquidity(&self, collateral: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn liquidity_to_collateral(&self, liquidity: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub fn is_stale(&self) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn initial_exchange_rate(&self) -> I80F48 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_decimals` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn convert_decimals(n: I80F48, from_dec: u8, to_dec: u8) -> Result<I80F48> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CollateralExchangeRate` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub struct CollateralExchangeRate(pub I80F48);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_reserve`, `collateral_to_liquidity`, and `liquidity_to_collateral` are never used
[INFO] [stdout]    --> protocols/src/marginfi/types/solend_mocks_state.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl CollateralExchangeRate {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] 272 |     /// Create from reserve state
[INFO] [stdout] 273 |     pub fn from_reserve(reserve: &SolendMinimalReserve) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn collateral_to_liquidity(&self, collateral_amount: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn liquidity_to_collateral(&self, liquidity_amount: u64) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `High` is never constructed
[INFO] [stdout]   --> protocols/src/marginfi/types/price.rs:29:3
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum PriceBias {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 28 |   Low,
[INFO] [stdout] 29 |   High,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PriceBias` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TimeWeighted` is never constructed
[INFO] [stdout]   --> protocols/src/marginfi/types/price.rs:36:3
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum OraclePriceType {
[INFO] [stdout]    |          --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 36 |   TimeWeighted,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OraclePriceType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_price_of_type_ignore_conf` is never used
[INFO] [stdout]   --> protocols/src/marginfi/types/price.rs:50:6
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub trait PriceAdapter {
[INFO] [stdout]    |           ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 50 |   fn get_price_of_type_ignore_conf(
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `check_ais` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/price.rs:554:6
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl SwitchboardPullPriceFeed {
[INFO] [stdout]     | ----------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 554 |   fn check_ais(account: &solana_account::Account) -> MarginfiResult {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCOUNT_DISABLED` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/user_account.rs:103:11
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub const ACCOUNT_DISABLED: u64 = 1 << 0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCOUNT_IN_FLASHLOAN` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/user_account.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub const ACCOUNT_IN_FLASHLOAN: u64 = 1 << 1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCOUNT_FLAG_DEPRECATED` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/user_account.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub const ACCOUNT_FLAG_DEPRECATED: u64 = 1 << 2;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCOUNT_TRANSFER_AUTHORITY_DEPRECATED` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/user_account.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub const ACCOUNT_TRANSFER_AUTHORITY_DEPRECATED: u64 = 1 << 3;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCOUNT_IN_RECEIVERSHIP` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/user_account.rs:107:11
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub const ACCOUNT_IN_RECEIVERSHIP: u64 = 1 << 4;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCOUNT_IN_DELEVERAGE` is never used
[INFO] [stdout]    --> protocols/src/marginfi/types/user_account.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub const ACCOUNT_IN_DELEVERAGE: u64 = 1 << 5;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIQUIDITY_VAULT_AUTHORITY_SEED` is never used
[INFO] [stdout]  --> protocols/src/marginfi/consts.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const LIQUIDITY_VAULT_AUTHORITY_SEED: &str = "liquidity_vault_auth";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INSURANCE_VAULT_AUTHORITY_SEED` is never used
[INFO] [stdout]  --> protocols/src/marginfi/consts.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const INSURANCE_VAULT_AUTHORITY_SEED: &str = "insurance_vault_auth";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEE_VAULT_AUTHORITY_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const FEE_VAULT_AUTHORITY_SEED: &str = "fee_vault_auth";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIQUIDITY_VAULT_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const LIQUIDITY_VAULT_SEED: &str = "liquidity_vault";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INSURANCE_VAULT_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const INSURANCE_VAULT_SEED: &str = "insurance_vault";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEE_VAULT_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const FEE_VAULT_SEED: &str = "fee_vault";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEE_STATE_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const FEE_STATE_SEED: &str = "feestate";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STAKED_SETTINGS_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const STAKED_SETTINGS_SEED: &str = "staked_settings";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMISSIONS_AUTH_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const EMISSIONS_AUTH_SEED: &str = "emissions_auth_seed";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMISSIONS_TOKEN_ACCOUNT_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const EMISSIONS_TOKEN_ACCOUNT_SEED: &str = "emissions_token_account_seed";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIQUIDATION_RECORD_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const LIQUIDATION_RECORD_SEED: &str = "liq_record";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `METADATA_SEED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const METADATA_SEED: &str = "metadata";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIQUIDATION_LIQUIDATOR_FEE` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const LIQUIDATION_LIQUIDATOR_FEE: I80F48 = I80F48!(0.025);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIQUIDATION_INSURANCE_FEE` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const LIQUIDATION_INSURANCE_FEE: I80F48 = I80F48!(0.025);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECONDS_PER_YEAR` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const SECONDS_PER_YEAR: I80F48 = I80F48!(31_536_000);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DAILY_RESET_INTERVAL` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const DAILY_RESET_INTERVAL: i64 = 24 * 60 * 60; // 24 hours
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ORACLE_MIN_AGE` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const ORACLE_MIN_AGE: u16 = 30;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SWB_ORACLE_AGE` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const MAX_SWB_ORACLE_AGE: u64 = 3 * 60;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USDC_EXPONENT` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const USDC_EXPONENT: i32 = 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NATIVE_STAKE_ID` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const NATIVE_STAKE_ID: Pubkey = pubkey!("Stake11111111111111111111111111111111111111");
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PYTH_ID` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const PYTH_ID: Pubkey = pubkey!("FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe4975bi2epH");
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPL_SINGLE_POOL_ID` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const SPL_SINGLE_POOL_ID: Pubkey = pubkey!("SVSPxpvHdN29nkVg9rPapPNDddN5DipNLRUFhyjFThE");
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SWITCHBOARD_PULL_ID` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const SWITCHBOARD_PULL_ID: Pubkey = pubkey!("SBondMDrcV3K4kxZR1HNVT7osZxAHVHgYXL5Ze1oMUv");
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BANKRUPT_THRESHOLD` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const BANKRUPT_THRESHOLD: I80F48 = I80F48!(0.1);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ZERO_AMOUNT_THRESHOLD` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const ZERO_AMOUNT_THRESHOLD: I80F48 = I80F48!(0.0001);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMISSIONS_FLAG_BORROW_ACTIVE` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:79:11
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub const EMISSIONS_FLAG_BORROW_ACTIVE: u64 = 1 << 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMISSIONS_FLAG_LENDING_ACTIVE` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const EMISSIONS_FLAG_LENDING_ACTIVE: u64 = 1 << 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PERMISSIONLESS_BAD_DEBT_SETTLEMENT_FLAG` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const PERMISSIONLESS_BAD_DEBT_SETTLEMENT_FLAG: u64 = 1 << 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FREEZE_SETTINGS` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const FREEZE_SETTINGS: u64 = 1 << 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLOSE_ENABLED_FLAG` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const CLOSE_ENABLED_FLAG: u64 = 1 << 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOKENLESS_REPAYMENTS_ALLOWED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const TOKENLESS_REPAYMENTS_ALLOWED: u64 = 1 << 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOKENLESS_REPAYMENTS_COMPLETE` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const TOKENLESS_REPAYMENTS_COMPLETE: u64 = 1 << 6;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PYTH_PUSH_MIGRATED_DEPRECATED` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const PYTH_PUSH_MIGRATED_DEPRECATED: u8 = 1 << 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMISSION_FLAGS` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub const EMISSION_FLAGS: u64 = EMISSIONS_FLAG_BORROW_ACTIVE | EMISSIONS_FLAG_LENDING_ACTIVE;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GROUP_FLAGS` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub const GROUP_FLAGS: u64 = PERMISSIONLESS_BAD_DEBT_SETTLEMENT_FLAG
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_EMISSIONS_START_TIME` is never used
[INFO] [stdout]   --> protocols/src/marginfi/consts.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub const MIN_EMISSIONS_START_TIME: u64 = 1681989983;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_EXP_10` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:129:11
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub const MAX_EXP_10: usize = 21;
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXP_10` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:130:11
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub const EXP_10: [u128; MAX_EXP_10] = [
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROTOCOL_FEE_RATE_DEFAULT` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:158:11
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub const PROTOCOL_FEE_RATE_DEFAULT: I80F48 = I80F48!(0.025);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROTOCOL_FEE_FIXED_DEFAULT` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:160:11
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub const PROTOCOL_FEE_FIXED_DEFAULT: I80F48 = I80F48!(0.01);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PYTH_SPONSORED_SHARD_ID` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:163:11
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub const PYTH_SPONSORED_SHARD_ID: u16 = 0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARGINFI_SPONSORED_SHARD_ID` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:165:11
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub const MARGINFI_SPONSORED_SHARD_ID: u16 = 3301;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASSET_TAG_SOL` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:171:11
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub const ASSET_TAG_SOL: u8 = 1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASSET_TAG_STAKED` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:174:11
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub const ASSET_TAG_STAKED: u8 = 2;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASSET_TAG_KAMINO` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:177:11
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub const ASSET_TAG_KAMINO: u8 = 3;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_KAMINO_POSITIONS` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:181:11
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub const MAX_KAMINO_POSITIONS: usize = 8;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GROUP` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:187:15
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub const GROUP: [u8; 8] = [182, 23, 173, 240, 151, 206, 182, 67];
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FEE_STATE` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:190:15
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub const FEE_STATE: [u8; 8] = [63, 224, 16, 85, 193, 36, 235, 220];
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STAKED_SETTINGS` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:191:15
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub const STAKED_SETTINGS: [u8; 8] = [157, 140, 6, 77, 89, 173, 173, 125];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIQUIDATION_RECORD` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:192:15
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub const LIQUIDATION_RECORD: [u8; 8] = [95, 116, 23, 132, 89, 210, 245, 162];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INIT_LIQUIDATION_RECORD` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:196:15
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub const INIT_LIQUIDATION_RECORD: [u8; 8] = [236, 213, 238, 126, 147, 251, 164, 8];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `START_LIQUIDATION` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:197:15
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub const START_LIQUIDATION: [u8; 8] = [244, 93, 90, 214, 192, 166, 191, 21];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `END_LIQUIDATION` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub const END_LIQUIDATION: [u8; 8] = [110, 11, 244, 54, 229, 181, 22, 184];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LENDING_ACCOUNT_PULSE_HEALTH` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub const LENDING_ACCOUNT_PULSE_HEALTH: [u8; 8] = [186, 52, 117, 97, 34, 74, 39, 253];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LENDING_ACCOUNT_WITHDRAW` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:200:15
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub const LENDING_ACCOUNT_WITHDRAW: [u8; 8] = [36, 72, 74, 19, 210, 210, 192, 192];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LENDING_ACCOUNT_REPAY` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:201:15
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub const LENDING_ACCOUNT_REPAY: [u8; 8] = [79, 209, 172, 177, 222, 51, 173, 151];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LENDING_SETTLE_EMISSIONS` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:202:15
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub const LENDING_SETTLE_EMISSIONS: [u8; 8] = [234, 22, 84, 214, 118, 176, 140, 170];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LENDING_WITHDRAW_EMISSIONS` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:203:15
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub const LENDING_WITHDRAW_EMISSIONS: [u8; 8] = [161, 58, 136, 174, 242, 223, 156, 176];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KAMINO_WITHDRAW` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:204:15
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub const KAMINO_WITHDRAW: [u8; 8] = [199, 101, 41, 45, 213, 98, 224, 200];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `START_FLASHLOAN` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:205:15
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub const START_FLASHLOAN: [u8; 8] = [14, 131, 33, 220, 81, 186, 180, 107];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `END_FLASHLOAN` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:206:15
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub const END_FLASHLOAN: [u8; 8] = [105, 124, 201, 106, 153, 2, 8, 156];
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `START_DELEVERAGE` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:207:15
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub const START_DELEVERAGE: [u8; 8] = [10, 138, 10, 57, 40, 232, 182, 193];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `END_DELEVERAGE` is never used
[INFO] [stdout]    --> protocols/src/marginfi/consts.rs:208:15
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub const END_DELEVERAGE: [u8; 8] = [114, 14, 250, 143, 252, 104, 214, 209];
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountEventHeader` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub struct AccountEventHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LendingAccountDepositEvent` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct LendingAccountDepositEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LendingAccountBorrowEvent` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub struct LendingAccountBorrowEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LendingAccountRepayEvent` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct LendingAccountRepayEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LendingAccountWithdrawEvent` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct LendingAccountWithdrawEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarginfiAccountCreateEvent` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct MarginfiAccountCreateEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarginfiAccountTransferToNewAccount` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub struct MarginfiAccountTransferToNewAccount {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthPulseEvent` is never constructed
[INFO] [stdout]    --> protocols/src/marginfi/events.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct HealthPulseEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking connections v0.1.0 (/opt/rustwide/workdir/connections)
[INFO] [stderr]     Checking worker v0.1.0 (/opt/rustwide/workdir/worker)
[INFO] [stderr]     Checking searcher v0.1.0 (/opt/rustwide/workdir/searcher)
[INFO] [stdout] warning: unused variable: `bank_accounts`
[INFO] [stdout]   --> searcher/src/filter.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let bank_accounts = user.bank_accounts();
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bank_accounts`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `liability_value`
[INFO] [stdout]   --> searcher/src/filter.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let liability_value = user.liability_value()?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_liability_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]   --> searcher/src/main.rs:93:11
[INFO] [stdout]    |
[INFO] [stdout] 93 |       Err(error) => {
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bank_accounts`
[INFO] [stdout]   --> searcher/src/filter.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let bank_accounts = user.bank_accounts();
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bank_accounts`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `liability_value`
[INFO] [stdout]   --> searcher/src/filter.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let liability_value = user.liability_value()?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_liability_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]   --> searcher/src/main.rs:93:11
[INFO] [stdout]    |
[INFO] [stdout] 93 |       Err(error) => {
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 37s
[INFO] running `Command { std: "docker" "inspect" "130b3262f2c0568670db3550296faf0046d0976d45aa5eddf0143bbdefc57d8b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "130b3262f2c0568670db3550296faf0046d0976d45aa5eddf0143bbdefc57d8b", kill_on_drop: false }`
[INFO] [stdout] 130b3262f2c0568670db3550296faf0046d0976d45aa5eddf0143bbdefc57d8b
