[INFO] cloning repository https://github.com/fhdgdjksuuu/custom_trade_orca [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fhdgdjksuuu/custom_trade_orca" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffhdgdjksuuu%2Fcustom_trade_orca", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffhdgdjksuuu%2Fcustom_trade_orca'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8091ef861a001a58efa8538fe5fef01f49cd68a8 [INFO] checking fhdgdjksuuu/custom_trade_orca against try#7b3da9103634dffd4f4365cfd8642427c781d99f+rustflags=-Dinherent-method-on-receiver for 152214-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffhdgdjksuuu%2Fcustom_trade_orca" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/fhdgdjksuuu/custom_trade_orca [INFO] finished tweaking git repo https://github.com/fhdgdjksuuu/custom_trade_orca [INFO] tweaked toml for git repo https://github.com/fhdgdjksuuu/custom_trade_orca written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/fhdgdjksuuu/custom_trade_orca on toolchain 7b3da9103634dffd4f4365cfd8642427c781d99f [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/fhdgdjksuuu/custom_trade_orca 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" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 14309b7a4c0b97086ac2b0722bb6d77171568b5a0dfb0162c6f6889ec3e8257d [INFO] running `Command { std: "docker" "start" "-a" "14309b7a4c0b97086ac2b0722bb6d77171568b5a0dfb0162c6f6889ec3e8257d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "14309b7a4c0b97086ac2b0722bb6d77171568b5a0dfb0162c6f6889ec3e8257d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "14309b7a4c0b97086ac2b0722bb6d77171568b5a0dfb0162c6f6889ec3e8257d", kill_on_drop: false }` [INFO] [stdout] 14309b7a4c0b97086ac2b0722bb6d77171568b5a0dfb0162c6f6889ec3e8257d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Dinherent-method-on-receiver" "-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e708e845eb6a9130527124e5fe30fc5957a654a9ab39d2d1ae9f79c2d5ca4151 [INFO] running `Command { std: "docker" "start" "-a" "e708e845eb6a9130527124e5fe30fc5957a654a9ab39d2d1ae9f79c2d5ca4151", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling zerocopy v0.8.38 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling borsh v1.6.0 [INFO] [stderr] Checking five8_core v0.1.2 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Checking solana-sanitize v2.2.1 [INFO] [stderr] Checking solana-atomic-u64 v2.2.1 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Checking five8 v0.2.1 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Checking solana-decode-error v2.3.0 [INFO] [stderr] Checking five8_const v0.1.4 [INFO] [stderr] Compiling zmij v1.0.19 [INFO] [stderr] Compiling cc v1.2.55 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking opaque-debug v0.3.1 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking bitflags v2.10.0 [INFO] [stderr] Checking signature v1.6.4 [INFO] [stderr] Checking sha2 v0.9.9 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Checking ed25519 v1.5.3 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Checking zeroize v1.8.2 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking serde-big-array v0.5.1 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Checking solana-msg v2.2.1 [INFO] [stderr] Compiling bs58 v0.5.1 [INFO] [stderr] Checking keccak v0.1.5 [INFO] [stderr] Checking solana-program-memory v2.3.1 [INFO] [stderr] Checking derivation-path v0.2.0 [INFO] [stderr] Checking uriparse v0.6.4 [INFO] [stderr] Checking qstring v0.7.2 [INFO] [stderr] Compiling solana-sdk-macro v2.2.1 [INFO] [stderr] Checking bytemuck v1.25.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling feature-probe v0.1.1 [INFO] [stderr] Checking arrayref v0.3.9 [INFO] [stderr] Checking bytes v1.11.1 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling bv v0.11.1 [INFO] [stderr] Checking solana-derivation-path v2.2.1 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Checking solana-seed-derivable v2.2.1 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking getrandom v0.1.16 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking solana-fee-calculator v2.2.1 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking constant_time_eq v0.4.2 [INFO] [stderr] Checking socket2 v0.6.2 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking curve25519-dalek v3.2.0 [INFO] [stderr] Checking solana-short-vec v2.2.1 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Compiling toml_parser v1.0.6+spec-1.1.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking pbkdf2 v0.11.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling blake3 v1.8.3 [INFO] [stderr] Compiling libsecp256k1-core v0.2.2 [INFO] [stderr] Checking serde_bytes v0.11.19 [INFO] [stderr] Checking tokio v1.49.0 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Checking solana-seed-phrase v2.2.1 [INFO] [stderr] Compiling toml_edit v0.23.10+spec-1.0.0 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking crypto-mac v0.8.0 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Checking hmac v0.8.1 [INFO] [stderr] Checking hmac-drbg v0.3.0 [INFO] [stderr] Checking base64 v0.12.3 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking rustls-pki-types v1.14.0 [INFO] [stderr] Compiling libsecp256k1-gen-genmult v0.2.1 [INFO] [stderr] Compiling libsecp256k1-gen-ecmult v0.2.1 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Checking polyval v0.6.2 [INFO] [stderr] Compiling libsecp256k1 v0.6.0 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking merlin v3.0.0 [INFO] [stderr] Checking solana-program-option v2.2.1 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking http v1.4.0 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking solana-serde-varint v2.2.2 [INFO] [stderr] Checking tracing-core v0.1.36 [INFO] [stderr] Checking aes-gcm-siv v0.11.1 [INFO] [stderr] Checking simd-adler32 v0.3.8 [INFO] [stderr] Checking brotli-decompressor v5.0.0 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking webpki-roots v1.0.6 [INFO] [stderr] Compiling borsh-derive v1.6.0 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.10.4 [INFO] [stderr] Compiling borsh-derive-internal v0.10.4 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking solana-precompile-error v2.2.2 [INFO] [stderr] Checking compression-core v0.4.31 [INFO] [stderr] Compiling spl-discriminator-syn v0.2.1 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Checking flate2 v1.1.9 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking solana-native-token v2.3.0 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking ahash v0.8.12 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Checking hashbrown v0.13.2 [INFO] [stderr] Checking brotli v8.0.2 [INFO] [stderr] Compiling spl-discriminator-derive v0.2.0 [INFO] [stderr] Checking solana-big-mod-exp v2.2.1 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking solana-time-utils v2.2.1 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Checking solana-inflation v2.2.1 [INFO] [stderr] Checking solana-reward-info v2.2.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking solana-commitment-config v2.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Checking data-encoding v2.10.0 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking h2 v0.4.13 [INFO] [stderr] Checking solana-curve25519 v2.3.13 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Checking solana-svm-feature-set v2.3.13 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling solana-version v2.3.13 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling time-macros v0.2.26 [INFO] [stderr] Compiling num_enum_derive v0.7.5 [INFO] [stderr] Checking gethostname v0.2.3 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Checking ed25519-dalek v1.0.1 [INFO] [stderr] Checking solana-signature v2.3.0 [INFO] [stderr] Checking ed25519-dalek-bip32 v0.2.0 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Checking semver v1.0.27 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking rand_core v0.9.5 [INFO] [stderr] Compiling cfg_eval v0.1.2 [INFO] [stderr] Compiling borsh-derive v0.10.4 [INFO] [stderr] Compiling asn1-rs-impl v0.1.0 [INFO] [stderr] Compiling asn1-rs-derive v0.4.0 [INFO] [stderr] Checking solana-hash v2.3.0 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Checking solana-sha256-hasher v2.3.0 [INFO] [stderr] Checking borsh v0.10.4 [INFO] [stderr] Checking solana-keccak-hasher v2.2.1 [INFO] [stderr] Checking solana-cluster-type v2.2.1 [INFO] [stderr] Checking solana-blake3-hasher v2.2.1 [INFO] [stderr] Checking num_enum v0.7.5 [INFO] [stderr] Checking time v0.3.46 [INFO] [stderr] Checking rusticata-macros v4.1.0 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Checking regex-syntax v0.8.9 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Checking rustls-webpki v0.103.9 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Checking solana-pubkey v2.4.0 [INFO] [stderr] Checking solana-borsh v2.2.1 [INFO] [stderr] Checking compression-codecs v0.4.36 [INFO] [stderr] Checking solana-instruction v2.3.3 [INFO] [stderr] Checking solana-sdk-ids v2.2.1 [INFO] [stderr] Checking solana-nonce v2.2.1 [INFO] [stderr] Checking async-compression v0.4.37 [INFO] [stderr] Checking spl-generic-token v1.0.1 [INFO] [stderr] Checking solana-sysvar-id v2.2.1 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Compiling oid-registry v0.6.1 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Checking solana-epoch-schedule v2.2.1 [INFO] [stderr] Checking solana-transaction-error v2.2.1 [INFO] [stderr] Checking solana-program-error v2.2.2 [INFO] [stderr] Checking solana-system-interface v1.0.0 [INFO] [stderr] Checking solana-clock v2.2.2 [INFO] [stderr] Checking solana-serialize-utils v2.2.1 [INFO] [stderr] Checking solana-account-info v2.3.0 [INFO] [stderr] Checking solana-signer v2.2.1 [INFO] [stderr] Checking solana-slot-hashes v2.2.1 [INFO] [stderr] Checking solana-rent v2.2.1 [INFO] [stderr] Checking solana-epoch-rewards v2.2.1 [INFO] [stderr] Checking solana-last-restart-slot v2.2.1 [INFO] [stderr] Checking solana-cpi v2.2.1 [INFO] [stderr] Checking solana-program-entrypoint v2.3.0 [INFO] [stderr] Checking solana-instructions-sysvar v2.2.2 [INFO] [stderr] Checking solana-slot-history v2.2.1 [INFO] [stderr] Checking solana-bincode v2.2.1 [INFO] [stderr] Checking solana-zk-sdk v2.3.13 [INFO] [stderr] Checking solana-stake-interface v1.2.1 [INFO] [stderr] Checking solana-message v2.4.0 [INFO] [stderr] Checking solana-feature-set v2.2.5 [INFO] [stderr] Checking solana-vote-interface v2.2.6 [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Checking solana-program-pack v2.2.1 [INFO] [stderr] Checking spl-discriminator v0.4.1 [INFO] [stderr] Checking solana-keypair v2.2.3 [INFO] [stderr] Checking solana-address-lookup-table-interface v2.2.2 [INFO] [stderr] Checking solana-loader-v4-interface v2.2.1 [INFO] [stderr] Checking solana-loader-v3-interface v5.0.0 [INFO] [stderr] Checking solana-stable-layout v2.2.1 [INFO] [stderr] Checking solana-loader-v2-interface v2.2.1 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Checking agave-feature-set v2.3.13 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking asn1-rs v0.5.2 [INFO] [stderr] Compiling serde_with_macros v3.16.1 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Checking rustls-native-certs v0.8.3 [INFO] [stderr] Checking solana-example-mocks v2.2.1 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking solana-secp256r1-program v2.2.4 [INFO] [stderr] Checking solana-ed25519-program v2.2.3 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Checking solana-sysvar v2.3.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Compiling ark-serialize-derive v0.4.2 [INFO] [stderr] Checking ark-std v0.4.0 [INFO] [stderr] Checking solana-secp256k1-program v2.2.3 [INFO] [stderr] Checking solana-secp256k1-recover v2.2.1 [INFO] [stderr] Checking jsonrpc-core v18.0.0 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking solana-account v2.2.1 [INFO] [stderr] Checking solana-precompiles v2.2.2 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Checking solana-serde v2.2.1 [INFO] [stderr] Checking solana-transaction v2.2.3 [INFO] [stderr] Checking solana-epoch-info v2.2.1 [INFO] [stderr] Checking solana-feature-gate-interface v2.2.2 [INFO] [stderr] Checking solana-transaction-context v2.3.13 [INFO] [stderr] Compiling dlopen2_derive v0.3.0 [INFO] [stderr] Compiling quinn-udp v0.5.14 [INFO] [stderr] Checking spl-pod v0.5.1 [INFO] [stderr] Compiling solana-perf v2.3.13 [INFO] [stderr] Checking solana-program v2.3.0 [INFO] [stderr] Checking solana-measure v2.3.13 [INFO] [stderr] Checking base64 v0.13.1 [INFO] [stderr] Checking hashbrown v0.15.2 [INFO] [stderr] Checking der-parser v8.2.0 [INFO] [stderr] Checking serde_with v3.16.1 [INFO] [stderr] Checking fastbloom v0.14.1 [INFO] [stderr] Checking console v0.15.11 [INFO] [stderr] Checking solana-rayon-threadlimit v2.3.13 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Checking ark-serialize v0.4.2 [INFO] [stderr] Checking solana-quic-definitions v2.3.1 [INFO] [stderr] Compiling ark-ff-asm v0.4.2 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Checking dlopen2 v0.5.0 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking caps v0.5.6 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking raw-cpuid v11.6.0 [INFO] [stderr] Compiling quinn v0.11.9 [INFO] [stderr] Checking lru-slab v0.1.2 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Checking num v0.2.1 [INFO] [stderr] Checking indicatif v0.17.11 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking rustls-platform-verifier v0.6.2 [INFO] [stderr] Checking solana-net-utils v2.3.13 [INFO] [stderr] Checking solana-packet v2.2.1 [INFO] [stderr] Checking solana-security-txt v1.1.2 [INFO] [stderr] Compiling ark-ff-macros v0.4.2 [INFO] [stderr] Checking quinn-proto v0.11.13 [INFO] [stderr] Checking x509-parser v0.14.0 [INFO] [stderr] Checking spl-type-length-value v0.7.0 [INFO] [stderr] Checking spl-type-length-value v0.8.0 [INFO] [stderr] Checking spl-memo v6.0.0 [INFO] [stderr] Checking webpki-roots v0.24.0 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Compiling spl-program-error-derive v0.4.1 [INFO] [stderr] Compiling spl-program-error-derive v0.5.0 [INFO] [stderr] Checking spinning_top v0.3.0 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking event-listener v2.5.3 [INFO] [stderr] Checking nonzero_ext v0.3.0 [INFO] [stderr] Checking futures-timer v3.0.3 [INFO] [stderr] Checking humantime v2.3.0 [INFO] [stderr] Checking no-std-compat v0.4.1 [INFO] [stderr] Checking async-channel v1.9.0 [INFO] [stderr] Checking event-listener v5.4.1 [INFO] [stderr] Checking signal-hook v0.3.18 [INFO] [stderr] Checking percentage v0.1.0 [INFO] [stderr] Checking env_logger v0.9.3 [INFO] [stderr] Checking pem v1.1.1 [INFO] [stderr] Checking solana-client-traits v2.2.1 [INFO] [stderr] Checking solana-hard-forks v2.2.1 [INFO] [stderr] Checking spl-program-error v0.7.0 [INFO] [stderr] Checking spl-program-error v0.6.0 [INFO] [stderr] Checking histogram v0.6.9 [INFO] [stderr] Checking webpki-roots v0.25.4 [INFO] [stderr] Checking chrono v0.4.43 [INFO] [stderr] Checking spl-tlv-account-resolution v0.10.0 [INFO] [stderr] Checking spl-tlv-account-resolution v0.9.0 [INFO] [stderr] Checking solana-shred-version v2.2.1 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking hyper-rustls v0.27.7 [INFO] [stderr] Checking solana-tls-utils v2.3.13 [INFO] [stderr] Checking solana-logger v2.3.1 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Checking spl-token-confidential-transfer-proof-extraction v0.2.1 [INFO] [stderr] Checking spl-token-confidential-transfer-proof-extraction v0.3.0 [INFO] [stderr] Checking tokio-stream v0.1.18 [INFO] [stderr] Checking memmap2 v0.5.10 [INFO] [stderr] Checking solana-poh-config v2.2.1 [INFO] [stderr] Checking spl-token-metadata-interface v0.7.0 [INFO] [stderr] Checking async-lock v3.4.2 [INFO] [stderr] Checking reqwest v0.12.28 [INFO] [stderr] Checking spl-elgamal-registry v0.1.1 [INFO] [stderr] Checking spl-transfer-hook-interface v0.10.0 [INFO] [stderr] Checking spl-token-metadata-interface v0.6.0 [INFO] [stderr] Checking spl-transfer-hook-interface v0.9.0 [INFO] [stderr] Checking spl-elgamal-registry v0.2.0 [INFO] [stderr] Checking spl-token v7.0.0 [INFO] [stderr] Checking tokio-rustls v0.24.1 [INFO] [stderr] Checking tungstenite v0.20.1 [INFO] [stderr] Checking spl-token-group-interface v0.6.0 [INFO] [stderr] Checking spl-token-group-interface v0.5.0 [INFO] [stderr] Checking spl-token-confidential-transfer-ciphertext-arithmetic v0.2.1 [INFO] [stderr] Checking spl-token-confidential-transfer-proof-generation v0.4.1 [INFO] [stderr] Checking spl-token-confidential-transfer-ciphertext-arithmetic v0.3.1 [INFO] [stderr] Checking spl-token v8.0.0 [INFO] [stderr] Checking quanta v0.12.6 [INFO] [stderr] Checking kaigan v0.2.6 [INFO] [stderr] Checking solana-define-syscall v2.3.0 [INFO] [stderr] Checking solana-epoch-rewards-hasher v2.2.1 [INFO] [stderr] Checking ark-ff v0.4.2 [INFO] [stderr] Checking solana-offchain-message v2.2.1 [INFO] [stderr] Checking Inflector v0.11.4 [INFO] [stderr] Checking solana-system-transaction v2.2.1 [INFO] [stderr] Checking spl-token-confidential-transfer-proof-generation v0.2.0 [INFO] [stderr] Checking solana-nonce-account v2.2.1 [INFO] [stderr] Checking solana-reserved-account-keys v2.2.2 [INFO] [stderr] Checking solana-fee-structure v2.3.0 [INFO] [stderr] Checking governor v0.6.3 [INFO] [stderr] Checking solana-presigner v2.2.1 [INFO] [stderr] Checking solana-config-program-client v0.0.2 [INFO] [stderr] Checking solana-compute-budget-interface v2.2.2 [INFO] [stderr] Checking solana-rent-debits v2.2.1 [INFO] [stderr] Compiling libsqlite3-sys v0.28.0 [INFO] [stderr] Compiling orca_whirlpools_macros v1.0.5 [INFO] [stderr] Checking solana-validator-exit v2.2.1 [INFO] [stderr] Checking ethnum v1.5.2 [INFO] [stderr] Checking spl-token-2022 v6.0.0 [INFO] [stderr] Checking spl-token-confidential-transfer-proof-generation v0.3.0 [INFO] [stderr] Checking spl-associated-token-account-client v2.0.0 [INFO] [stderr] Checking tungstenite v0.24.0 [INFO] [stderr] Checking tokio-tungstenite v0.20.1 [INFO] [stderr] Checking spl-token-2022 v8.0.1 [INFO] [stderr] Checking hashlink v0.9.1 [INFO] [stderr] Checking webpki-roots v0.26.11 [INFO] [stderr] Checking solana-genesis-config v2.3.0 [INFO] [stderr] Checking spl-token-2022 v7.0.0 [INFO] [stderr] Checking solana-rent-collector v2.3.0 [INFO] [stderr] Checking solana-metrics v2.3.13 [INFO] [stderr] Checking reqwest-middleware v0.4.2 [INFO] [stderr] Checking tokio-tungstenite v0.24.0 [INFO] [stderr] Checking orca_whirlpools_core v2.0.1 [INFO] [stderr] Checking solana-connection-cache v2.3.13 [INFO] [stderr] Checking solana-transaction-metrics-tracker v2.3.13 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Checking solana-streamer v2.3.13 [INFO] [stderr] Checking spl-associated-token-account v6.0.0 [INFO] [stderr] Checking zstd v0.13.3 [INFO] [stderr] Checking solana-account-decoder-client-types v2.3.13 [INFO] [stderr] Checking solana-udp-client v2.3.13 [INFO] [stderr] Checking solana-transaction-status-client-types v2.3.13 [INFO] [stderr] Checking solana-account-decoder v2.3.13 [INFO] [stderr] Checking solana-rpc-client-types v2.3.13 [INFO] [stderr] Checking ark-poly v0.4.2 [INFO] [stderr] Checking ark-ec v0.4.2 [INFO] [stderr] Checking solana-rpc-client-api v2.3.13 [INFO] [stderr] Checking solana-pubsub-client v2.3.13 [INFO] [stderr] Checking solana-rpc-client v2.3.13 [INFO] [stderr] Checking solana-quic-client v2.3.13 [INFO] [stderr] Checking ark-bn254 v0.4.0 [INFO] [stderr] Checking solana-bn254 v2.2.2 [INFO] [stderr] Checking solana-tpu-client v2.3.13 [INFO] [stderr] Checking solana-thin-client v2.3.13 [INFO] [stderr] Checking solana-rpc-client-nonce-utils v2.3.13 [INFO] [stderr] Checking solana-sdk v2.3.1 [INFO] [stderr] Checking solana-client v2.3.13 [INFO] [stderr] Checking orca_whirlpools_client v6.0.0 [INFO] [stderr] Checking rusqlite v0.31.0 [INFO] [stderr] Checking orca_whirlpools v5.0.2 [INFO] [stderr] Checking custom_trade_orca v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated module `solana_sdk::system_instruction`: Use `solana_system_interface` crate instead [INFO] [stdout] --> src/bin/../trade/swap.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | system_instruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated module `solana_sdk::system_instruction`: Use `solana_system_interface` crate instead [INFO] [stdout] --> src/bin/../trade/swap.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | system_instruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated module `solana_sdk::system_instruction`: Use `solana_system_interface` crate instead [INFO] [stdout] --> src/trade/swap.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | system_instruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated module `solana_sdk::system_instruction`: Use `solana_system_interface` crate instead [INFO] [stdout] --> src/bin/../trade/swap.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | system_instruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated module `solana_sdk::system_instruction`: Use `solana_system_interface` crate instead [INFO] [stdout] --> src/bin/../trade/swap.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | system_instruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated module `solana_sdk::system_instruction`: Use `solana_system_interface` crate instead [INFO] [stdout] --> src/trade/swap.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | system_instruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/../trade/mod.rs:2279:13 [INFO] [stdout] | [INFO] [stdout] 2279 | let mut available_usdc = 0u64; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/../trade/mod.rs:2279:13 [INFO] [stdout] | [INFO] [stdout] 2279 | let mut available_usdc = 0u64; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `position_id` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1872:31 [INFO] [stdout] | [INFO] [stdout] 1872 | let mut position_id = 0i64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1873:34 [INFO] [stdout] | [INFO] [stdout] 1873 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1874:33 [INFO] [stdout] | [INFO] [stdout] 1874 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_usdc_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1875:39 [INFO] [stdout] | [INFO] [stdout] 1875 | let mut reserved_usdc_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1876:38 [INFO] [stdout] | [INFO] [stdout] 1876 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1877:29 [INFO] [stdout] | [INFO] [stdout] 1877 | let mut free_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1878:28 [INFO] [stdout] | [INFO] [stdout] 1878 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `position_id` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2627:31 [INFO] [stdout] | [INFO] [stdout] 2627 | let mut position_id = 0i64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2628:34 [INFO] [stdout] | [INFO] [stdout] 2628 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2629:33 [INFO] [stdout] | [INFO] [stdout] 2629 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2630:38 [INFO] [stdout] | [INFO] [stdout] 2630 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2631:28 [INFO] [stdout] | [INFO] [stdout] 2631 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `available_usdc` [INFO] [stdout] --> src/bin/../trade/mod.rs:2279:13 [INFO] [stdout] | [INFO] [stdout] 2279 | let mut available_usdc = 0u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_available_usdc` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2277:34 [INFO] [stdout] | [INFO] [stdout] 2277 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2278:33 [INFO] [stdout] | [INFO] [stdout] 2278 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2280:38 [INFO] [stdout] | [INFO] [stdout] 2280 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2281:28 [INFO] [stdout] | [INFO] [stdout] 2281 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3025:34 [INFO] [stdout] | [INFO] [stdout] 3025 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3026:33 [INFO] [stdout] | [INFO] [stdout] 3026 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3027:38 [INFO] [stdout] | [INFO] [stdout] 3027 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3028:28 [INFO] [stdout] | [INFO] [stdout] 3028 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `position_id` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1872:31 [INFO] [stdout] | [INFO] [stdout] 1872 | let mut position_id = 0i64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1873:34 [INFO] [stdout] | [INFO] [stdout] 1873 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1874:33 [INFO] [stdout] | [INFO] [stdout] 1874 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_usdc_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1875:39 [INFO] [stdout] | [INFO] [stdout] 1875 | let mut reserved_usdc_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1876:38 [INFO] [stdout] | [INFO] [stdout] 1876 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1877:29 [INFO] [stdout] | [INFO] [stdout] 1877 | let mut free_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1878:28 [INFO] [stdout] | [INFO] [stdout] 1878 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `position_id` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2627:31 [INFO] [stdout] | [INFO] [stdout] 2627 | let mut position_id = 0i64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2628:34 [INFO] [stdout] | [INFO] [stdout] 2628 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2629:33 [INFO] [stdout] | [INFO] [stdout] 2629 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2630:38 [INFO] [stdout] | [INFO] [stdout] 2630 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2631:28 [INFO] [stdout] | [INFO] [stdout] 2631 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `available_usdc` [INFO] [stdout] --> src/bin/../trade/mod.rs:2279:13 [INFO] [stdout] | [INFO] [stdout] 2279 | let mut available_usdc = 0u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_available_usdc` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2277:34 [INFO] [stdout] | [INFO] [stdout] 2277 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2278:33 [INFO] [stdout] | [INFO] [stdout] 2278 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2280:38 [INFO] [stdout] | [INFO] [stdout] 2280 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2281:28 [INFO] [stdout] | [INFO] [stdout] 2281 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3025:34 [INFO] [stdout] | [INFO] [stdout] 3025 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3026:33 [INFO] [stdout] | [INFO] [stdout] 3026 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3027:38 [INFO] [stdout] | [INFO] [stdout] 3027 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3028:28 [INFO] [stdout] | [INFO] [stdout] 3028 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `TradeDb` is more private than the item `Trader::db` [INFO] [stdout] --> src/bin/../trade/mod.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | pub db: TradeDb, [INFO] [stdout] | ^^^^^^^^^^^^^^^ field `Trader::db` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `TradeDb` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/bin/../trade/mod.rs:71:1 [INFO] [stdout] | [INFO] [stdout] 71 | struct TradeDb { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WSOL_MINT` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const WSOL_MINT: &str = "So11111111111111111111111111111111111111112"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIMULATION_FEE_LAMPORTS` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const SIMULATION_FEE_LAMPORTS: u64 = 5000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RPC_RATE_LIMIT_PER_SEC` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const RPC_RATE_LIMIT_PER_SEC: usize = 9; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RPC_RATE_LIMIT_WINDOW` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const RPC_RATE_LIMIT_WINDOW: Duration = Duration::from_secs(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GET_TRANSACTION_RETRY_ATTEMPTS` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const GET_TRANSACTION_RETRY_ATTEMPTS: usize = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GET_TRANSACTION_RETRY_DELAY_MS` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:55:7 [INFO] [stdout] | [INFO] [stdout] 55 | const GET_TRANSACTION_RETRY_DELAY_MS: u64 = 300; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Trader` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct Trader { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TradeDb` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | struct TradeDb { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_db_str` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 75 | impl ExecMode { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 76 | fn as_db_str(self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RpcRateLimiter` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | struct RpcRateLimiter { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `acquire` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 94 | impl RpcRateLimiter { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 95 | fn new(max_per_window: usize, window: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | async fn acquire(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RateLimitedRpcSender` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | struct RateLimitedRpcSender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `reconnect` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 134 | impl RateLimitedRpcSender { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 135 | fn new(url: String, limiter: Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | fn reconnect(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_rate_limited_rpc_client` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:174:4 [INFO] [stdout] | [INFO] [stdout] 174 | fn build_rate_limited_rpc_client(url: &str, limiter: Arc) -> RpcClient { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:180:8 [INFO] [stdout] | [INFO] [stdout] 179 | impl TradeDb { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 180 | fn new(path: &Path) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | fn open_conn(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | fn ensure_schema(&self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | fn ensure_positions_columns(conn: &Connection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | fn now_ms() -> i64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | fn insert_event( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | fn reserved_totals(conn: &Connection, payer: &Pubkey) -> Result<(u64, u64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 309 | fn reserved_totals_excluding( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn get_sim_wallet(conn: &Connection, payer: &Pubkey) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | fn upsert_sim_wallet(conn: &Connection, payer: &Pubkey, usdc: u64, sol: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 364 | async fn reconcile_pending( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 576 | fn fail_position(&self, id: i64, err: &str, reason: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 601 | fn mark_pending_retry(&self, id: i64, err: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 623 | async fn finalize_open_confirmed( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 775 | fn finalize_close_confirmed(&self, id: i64, side: &str, sig: Signature) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `token_program_for_mint_owner` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:814:4 [INFO] [stdout] | [INFO] [stdout] 814 | fn token_program_for_mint_owner(mint_owner: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenProgramFlavor` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:828:6 [INFO] [stdout] | [INFO] [stdout] 828 | enum TokenProgramFlavor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `program_id`, `sync_native_ix`, `close_account_ix`, `unpack_token_account`, `unpack_token_account_amount`, and `unpack_mint_decimals` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:834:8 [INFO] [stdout] | [INFO] [stdout] 833 | impl TokenProgramFlavor { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] 834 | fn program_id(&self) -> Pubkey { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 841 | fn sync_native_ix(&self, account: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 851 | fn close_account_ix( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 876 | fn unpack_token_account(&self, data: &[u8]) -> Result<(Pubkey, u64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 891 | fn unpack_token_account_amount(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 895 | fn unpack_mint_decimals(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HttpRpc` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:911:8 [INFO] [stdout] | [INFO] [stdout] 911 | struct HttpRpc { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_transaction_json` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:918:8 [INFO] [stdout] | [INFO] [stdout] 917 | impl HttpRpc { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 918 | fn new(url: String, limiter: Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 926 | async fn get_transaction_json(&self, signature: &Signature) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `try_get_transaction_json` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:962:10 [INFO] [stdout] | [INFO] [stdout] 962 | async fn try_get_transaction_json( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resolve_pool_mints` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:990:10 [INFO] [stdout] | [INFO] [stdout] 990 | async fn resolve_pool_mints(rpc: &RpcClient, whirlpool: &Pubkey) -> Result<(Pubkey, Pubkey)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mint_owner_program` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:999:10 [INFO] [stdout] | [INFO] [stdout] 999 | async fn mint_owner_program(rpc: &RpcClient, mint: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_mint_decimals` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1007:10 [INFO] [stdout] | [INFO] [stdout] 1007 | async fn load_mint_decimals( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_account_optional` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1019:10 [INFO] [stdout] | [INFO] [stdout] 1019 | async fn get_account_optional(rpc: &RpcClient, address: &Pubkey) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_wsol_ata_is_safe_to_use_and_close` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1027:10 [INFO] [stdout] | [INFO] [stdout] 1027 | async fn ensure_wsol_ata_is_safe_to_use_and_close( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ui_to_amount` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1046:4 [INFO] [stdout] | [INFO] [stdout] 1046 | fn ui_to_amount(ui: &str, decimals: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sum_token_accounts_by_owner` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1087:10 [INFO] [stdout] | [INFO] [stdout] 1087 | async fn sum_token_accounts_by_owner( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_effective_wallet_balances` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1123:10 [INFO] [stdout] | [INFO] [stdout] 1123 | async fn get_effective_wallet_balances( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_owner_token_accounts` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1149:10 [INFO] [stdout] | [INFO] [stdout] 1149 | async fn list_owner_token_accounts( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sum_owner_mint_delta` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1167:4 [INFO] [stdout] | [INFO] [stdout] 1167 | fn sum_owner_mint_delta(meta: &Value, owner: &Pubkey, mint: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `owner_lamport_delta` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1210:4 [INFO] [stdout] | [INFO] [stdout] 1210 | fn owner_lamport_delta(meta: &Value, msg: &Value, owner: &Pubkey) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_transaction_with_fee` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1254:10 [INFO] [stdout] | [INFO] [stdout] 1254 | async fn build_transaction_with_fee( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `simulated` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1291:5 [INFO] [stdout] | [INFO] [stdout] 1289 | struct TxExecution { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 1290 | signature: Signature, [INFO] [stdout] 1291 | simulated: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rent_budget_for_atas` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1422:10 [INFO] [stdout] | [INFO] [stdout] 1422 | async fn rent_budget_for_atas(rpc: &RpcClient, atas: &[Pubkey]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_reqwest_error` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1438:4 [INFO] [stdout] | [INFO] [stdout] 1438 | fn find_reqwest_error<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_orca_swap_error` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1454:4 [INFO] [stdout] | [INFO] [stdout] 1454 | fn format_orca_swap_error(err: &(dyn std::error::Error + 'static)) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_swap_instructions` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1530:10 [INFO] [stdout] | [INFO] [stdout] 1530 | async fn build_swap_instructions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_out_max_in` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1553:4 [INFO] [stdout] | [INFO] [stdout] 1553 | fn exact_out_max_in(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_out_est_in` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1560:4 [INFO] [stdout] | [INFO] [stdout] 1560 | fn exact_out_est_in(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_in_min_out` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1567:4 [INFO] [stdout] | [INFO] [stdout] 1567 | fn exact_in_min_out(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_in_est_out` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1574:4 [INFO] [stdout] | [INFO] [stdout] 1574 | fn exact_in_est_out(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_simulation_addresses` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1581:4 [INFO] [stdout] | [INFO] [stdout] 1581 | fn build_simulation_addresses( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `post_balances_from_simulation` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1596:4 [INFO] [stdout] | [INFO] [stdout] 1596 | fn post_balances_from_simulation( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_pool_is_wsol_pair` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1639:4 [INFO] [stdout] | [INFO] [stdout] 1639 | fn ensure_pool_is_wsol_pair(mint_a: Pubkey, mint_b: Pubkey) -> Result<(Pubkey, Pubkey)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `u64_to_i64` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1706:4 [INFO] [stdout] | [INFO] [stdout] 1706 | fn u64_to_i64(value: u64, label: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `checked_free_amount` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1710:4 [INFO] [stdout] | [INFO] [stdout] 1710 | fn checked_free_amount(effective: u64, reserved: u64, label: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mark_failed` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1718:4 [INFO] [stdout] | [INFO] [stdout] 1718 | fn mark_failed(db: &TradeDb, position_id: i64, stage: &str, error: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mark_exec_error` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1744:4 [INFO] [stdout] | [INFO] [stdout] 1744 | fn mark_exec_error(db: &TradeDb, position_id: i64, error: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1763:12 [INFO] [stdout] | [INFO] [stdout] 1762 | impl Trader { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 1763 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1784 | pub async fn open_long( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2179 | pub async fn close_long(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2536 | pub async fn open_short( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2925 | pub async fn close_short(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3292 | pub async fn open_long_on_pool( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3301 | pub async fn close_long_on_pool(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3305 | pub async fn open_short_on_pool( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3314 | pub async fn close_short_on_pool(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TRACKER_DB` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const DEFAULT_TRACKER_DB: &str = "tracker.db"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TRADE_DB` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const DEFAULT_TRADE_DB: &str = "trade.db"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PLAYERS_DB` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const DEFAULT_PLAYERS_DB: &str = "players.db"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_POOL` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const DEFAULT_POOL: &str = "Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_USDC_UI` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const DEFAULT_USDC_UI: &str = "1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_SLIPPAGE_BPS` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const DEFAULT_SLIPPAGE_BPS: u16 = 10_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_POLL_MS` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const DEFAULT_POLL_MS: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EVENT_BATCH_LIMIT` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const EVENT_BATCH_LIMIT: i64 = 200; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TRADE_RPC_URL` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const DEFAULT_TRADE_RPC_URL: &str = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Config` is never constructed [INFO] [stdout] --> src/bin/../trade/executor.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TrackerEvent` is never constructed [INFO] [stdout] --> src/bin/../trade/executor.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | struct TrackerEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_config` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn default_config() -> Config { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_config` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn validate_config(cfg: &Config) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `config_from_env` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn config_from_env() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `config_from_env_with_mode` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn config_from_env_with_mode(mode: trade::ExecMode) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_args` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn parse_args() -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_one_usdc` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn is_one_usdc(raw: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_usage` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:166:4 [INFO] [stdout] | [INFO] [stdout] 166 | fn print_usage() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now_ms` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:192:4 [INFO] [stdout] | [INFO] [stdout] 192 | fn now_ms() -> i64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_db` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:196:4 [INFO] [stdout] | [INFO] [stdout] 196 | fn open_db(path: &str) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_trade_links_schema` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn ensure_trade_links_schema(conn: &Connection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_players_schema` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:231:4 [INFO] [stdout] | [INFO] [stdout] 231 | fn ensure_players_schema(conn: &Connection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_player_good` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:250:4 [INFO] [stdout] | [INFO] [stdout] 250 | fn is_player_good(conn: &Connection, player: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_last_event_id` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:263:4 [INFO] [stdout] | [INFO] [stdout] 263 | fn get_last_event_id(conn: &Connection) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_last_event_id` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:274:4 [INFO] [stdout] | [INFO] [stdout] 274 | fn set_last_event_id(conn: &Connection, id: i64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_events` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:286:4 [INFO] [stdout] | [INFO] [stdout] 286 | fn fetch_events(conn: &Connection, last_id: i64) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_entry_event` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:315:4 [INFO] [stdout] | [INFO] [stdout] 315 | fn find_entry_event( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_side` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:347:4 [INFO] [stdout] | [INFO] [stdout] 347 | fn compute_side(entry: &TrackerEvent) -> Result<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_profit_pct` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:361:4 [INFO] [stdout] | [INFO] [stdout] 361 | fn compute_profit_pct(side: &str, entry_price: f64, exit_price: f64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `side_human` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:372:4 [INFO] [stdout] | [INFO] [stdout] 372 | fn side_human(side: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpc_base_url` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:380:4 [INFO] [stdout] | [INFO] [stdout] 380 | fn rpc_base_url(url: &str) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_position` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:384:10 [INFO] [stdout] | [INFO] [stdout] 384 | async fn open_position( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `close_position` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:540:10 [INFO] [stdout] | [INFO] [stdout] 540 | async fn close_position( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `record_profit` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:682:4 [INFO] [stdout] | [INFO] [stdout] 682 | fn record_profit( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_entry_event` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:746:10 [INFO] [stdout] | [INFO] [stdout] 746 | async fn handle_entry_event( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_target_event` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:782:10 [INFO] [stdout] | [INFO] [stdout] 782 | async fn handle_target_event( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_trader` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:876:4 [INFO] [stdout] | [INFO] [stdout] 876 | fn build_trader(cfg: &Config) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_event_by_id` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:885:4 [INFO] [stdout] | [INFO] [stdout] 885 | fn fetch_event_by_id(conn: &Connection, id: i64) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_polling` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:910:14 [INFO] [stdout] | [INFO] [stdout] 910 | pub async fn run_polling(cfg: Config) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_from_signals` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:1077:14 [INFO] [stdout] | [INFO] [stdout] 1077 | pub async fn run_from_signals( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TradeSignal` is never constructed [INFO] [stdout] --> src/bin/../trade/signal.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct TradeSignal { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `TradeDb` is more private than the item `Trader::db` [INFO] [stdout] --> src/bin/../trade/mod.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | pub db: TradeDb, [INFO] [stdout] | ^^^^^^^^^^^^^^^ field `Trader::db` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `TradeDb` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/bin/../trade/mod.rs:71:1 [INFO] [stdout] | [INFO] [stdout] 71 | struct TradeDb { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WSOL_MINT` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const WSOL_MINT: &str = "So11111111111111111111111111111111111111112"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIMULATION_FEE_LAMPORTS` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const SIMULATION_FEE_LAMPORTS: u64 = 5000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RPC_RATE_LIMIT_PER_SEC` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const RPC_RATE_LIMIT_PER_SEC: usize = 9; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RPC_RATE_LIMIT_WINDOW` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const RPC_RATE_LIMIT_WINDOW: Duration = Duration::from_secs(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GET_TRANSACTION_RETRY_ATTEMPTS` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const GET_TRANSACTION_RETRY_ATTEMPTS: usize = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GET_TRANSACTION_RETRY_DELAY_MS` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:55:7 [INFO] [stdout] | [INFO] [stdout] 55 | const GET_TRANSACTION_RETRY_DELAY_MS: u64 = 300; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Trader` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct Trader { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TradeDb` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | struct TradeDb { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_db_str` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 75 | impl ExecMode { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 76 | fn as_db_str(self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RpcRateLimiter` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | struct RpcRateLimiter { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `acquire` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 94 | impl RpcRateLimiter { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 95 | fn new(max_per_window: usize, window: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | async fn acquire(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RateLimitedRpcSender` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | struct RateLimitedRpcSender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `reconnect` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 134 | impl RateLimitedRpcSender { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 135 | fn new(url: String, limiter: Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | fn reconnect(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_rate_limited_rpc_client` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:174:4 [INFO] [stdout] | [INFO] [stdout] 174 | fn build_rate_limited_rpc_client(url: &str, limiter: Arc) -> RpcClient { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:180:8 [INFO] [stdout] | [INFO] [stdout] 179 | impl TradeDb { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 180 | fn new(path: &Path) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | fn open_conn(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | fn ensure_schema(&self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | fn ensure_positions_columns(conn: &Connection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | fn now_ms() -> i64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | fn insert_event( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | fn reserved_totals(conn: &Connection, payer: &Pubkey) -> Result<(u64, u64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 309 | fn reserved_totals_excluding( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn get_sim_wallet(conn: &Connection, payer: &Pubkey) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | fn upsert_sim_wallet(conn: &Connection, payer: &Pubkey, usdc: u64, sol: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 364 | async fn reconcile_pending( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 576 | fn fail_position(&self, id: i64, err: &str, reason: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 601 | fn mark_pending_retry(&self, id: i64, err: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 623 | async fn finalize_open_confirmed( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 775 | fn finalize_close_confirmed(&self, id: i64, side: &str, sig: Signature) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `token_program_for_mint_owner` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:814:4 [INFO] [stdout] | [INFO] [stdout] 814 | fn token_program_for_mint_owner(mint_owner: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenProgramFlavor` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:828:6 [INFO] [stdout] | [INFO] [stdout] 828 | enum TokenProgramFlavor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `program_id`, `sync_native_ix`, `close_account_ix`, `unpack_token_account`, `unpack_token_account_amount`, and `unpack_mint_decimals` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:834:8 [INFO] [stdout] | [INFO] [stdout] 833 | impl TokenProgramFlavor { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] 834 | fn program_id(&self) -> Pubkey { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 841 | fn sync_native_ix(&self, account: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 851 | fn close_account_ix( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 876 | fn unpack_token_account(&self, data: &[u8]) -> Result<(Pubkey, u64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 891 | fn unpack_token_account_amount(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 895 | fn unpack_mint_decimals(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HttpRpc` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:911:8 [INFO] [stdout] | [INFO] [stdout] 911 | struct HttpRpc { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_transaction_json` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:918:8 [INFO] [stdout] | [INFO] [stdout] 917 | impl HttpRpc { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 918 | fn new(url: String, limiter: Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 926 | async fn get_transaction_json(&self, signature: &Signature) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `try_get_transaction_json` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:962:10 [INFO] [stdout] | [INFO] [stdout] 962 | async fn try_get_transaction_json( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resolve_pool_mints` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:990:10 [INFO] [stdout] | [INFO] [stdout] 990 | async fn resolve_pool_mints(rpc: &RpcClient, whirlpool: &Pubkey) -> Result<(Pubkey, Pubkey)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mint_owner_program` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:999:10 [INFO] [stdout] | [INFO] [stdout] 999 | async fn mint_owner_program(rpc: &RpcClient, mint: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_mint_decimals` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1007:10 [INFO] [stdout] | [INFO] [stdout] 1007 | async fn load_mint_decimals( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_account_optional` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1019:10 [INFO] [stdout] | [INFO] [stdout] 1019 | async fn get_account_optional(rpc: &RpcClient, address: &Pubkey) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_wsol_ata_is_safe_to_use_and_close` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1027:10 [INFO] [stdout] | [INFO] [stdout] 1027 | async fn ensure_wsol_ata_is_safe_to_use_and_close( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ui_to_amount` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1046:4 [INFO] [stdout] | [INFO] [stdout] 1046 | fn ui_to_amount(ui: &str, decimals: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sum_token_accounts_by_owner` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1087:10 [INFO] [stdout] | [INFO] [stdout] 1087 | async fn sum_token_accounts_by_owner( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_effective_wallet_balances` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1123:10 [INFO] [stdout] | [INFO] [stdout] 1123 | async fn get_effective_wallet_balances( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_owner_token_accounts` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1149:10 [INFO] [stdout] | [INFO] [stdout] 1149 | async fn list_owner_token_accounts( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sum_owner_mint_delta` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1167:4 [INFO] [stdout] | [INFO] [stdout] 1167 | fn sum_owner_mint_delta(meta: &Value, owner: &Pubkey, mint: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `owner_lamport_delta` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1210:4 [INFO] [stdout] | [INFO] [stdout] 1210 | fn owner_lamport_delta(meta: &Value, msg: &Value, owner: &Pubkey) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_transaction_with_fee` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1254:10 [INFO] [stdout] | [INFO] [stdout] 1254 | async fn build_transaction_with_fee( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `simulated` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1291:5 [INFO] [stdout] | [INFO] [stdout] 1289 | struct TxExecution { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 1290 | signature: Signature, [INFO] [stdout] 1291 | simulated: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rent_budget_for_atas` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1422:10 [INFO] [stdout] | [INFO] [stdout] 1422 | async fn rent_budget_for_atas(rpc: &RpcClient, atas: &[Pubkey]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_reqwest_error` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1438:4 [INFO] [stdout] | [INFO] [stdout] 1438 | fn find_reqwest_error<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_orca_swap_error` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1454:4 [INFO] [stdout] | [INFO] [stdout] 1454 | fn format_orca_swap_error(err: &(dyn std::error::Error + 'static)) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_swap_instructions` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1530:10 [INFO] [stdout] | [INFO] [stdout] 1530 | async fn build_swap_instructions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_out_max_in` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1553:4 [INFO] [stdout] | [INFO] [stdout] 1553 | fn exact_out_max_in(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_out_est_in` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1560:4 [INFO] [stdout] | [INFO] [stdout] 1560 | fn exact_out_est_in(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_in_min_out` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1567:4 [INFO] [stdout] | [INFO] [stdout] 1567 | fn exact_in_min_out(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_in_est_out` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1574:4 [INFO] [stdout] | [INFO] [stdout] 1574 | fn exact_in_est_out(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_simulation_addresses` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1581:4 [INFO] [stdout] | [INFO] [stdout] 1581 | fn build_simulation_addresses( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `post_balances_from_simulation` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1596:4 [INFO] [stdout] | [INFO] [stdout] 1596 | fn post_balances_from_simulation( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_pool_is_wsol_pair` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1639:4 [INFO] [stdout] | [INFO] [stdout] 1639 | fn ensure_pool_is_wsol_pair(mint_a: Pubkey, mint_b: Pubkey) -> Result<(Pubkey, Pubkey)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `u64_to_i64` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1706:4 [INFO] [stdout] | [INFO] [stdout] 1706 | fn u64_to_i64(value: u64, label: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `checked_free_amount` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1710:4 [INFO] [stdout] | [INFO] [stdout] 1710 | fn checked_free_amount(effective: u64, reserved: u64, label: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mark_failed` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1718:4 [INFO] [stdout] | [INFO] [stdout] 1718 | fn mark_failed(db: &TradeDb, position_id: i64, stage: &str, error: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mark_exec_error` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1744:4 [INFO] [stdout] | [INFO] [stdout] 1744 | fn mark_exec_error(db: &TradeDb, position_id: i64, error: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1763:12 [INFO] [stdout] | [INFO] [stdout] 1762 | impl Trader { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 1763 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1784 | pub async fn open_long( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2179 | pub async fn close_long(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2536 | pub async fn open_short( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2925 | pub async fn close_short(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3292 | pub async fn open_long_on_pool( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3301 | pub async fn close_long_on_pool(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3305 | pub async fn open_short_on_pool( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3314 | pub async fn close_short_on_pool(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TRACKER_DB` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const DEFAULT_TRACKER_DB: &str = "tracker.db"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TRADE_DB` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const DEFAULT_TRADE_DB: &str = "trade.db"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PLAYERS_DB` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const DEFAULT_PLAYERS_DB: &str = "players.db"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_POOL` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const DEFAULT_POOL: &str = "Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_USDC_UI` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const DEFAULT_USDC_UI: &str = "1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_SLIPPAGE_BPS` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const DEFAULT_SLIPPAGE_BPS: u16 = 10_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_POLL_MS` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const DEFAULT_POLL_MS: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EVENT_BATCH_LIMIT` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const EVENT_BATCH_LIMIT: i64 = 200; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TRADE_RPC_URL` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const DEFAULT_TRADE_RPC_URL: &str = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Config` is never constructed [INFO] [stdout] --> src/bin/../trade/executor.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TrackerEvent` is never constructed [INFO] [stdout] --> src/bin/../trade/executor.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | struct TrackerEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_config` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn default_config() -> Config { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_config` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn validate_config(cfg: &Config) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `config_from_env` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn config_from_env() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `config_from_env_with_mode` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn config_from_env_with_mode(mode: trade::ExecMode) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_args` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn parse_args() -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_one_usdc` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn is_one_usdc(raw: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_usage` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:166:4 [INFO] [stdout] | [INFO] [stdout] 166 | fn print_usage() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now_ms` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:192:4 [INFO] [stdout] | [INFO] [stdout] 192 | fn now_ms() -> i64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_db` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:196:4 [INFO] [stdout] | [INFO] [stdout] 196 | fn open_db(path: &str) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_trade_links_schema` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn ensure_trade_links_schema(conn: &Connection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_players_schema` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:231:4 [INFO] [stdout] | [INFO] [stdout] 231 | fn ensure_players_schema(conn: &Connection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_player_good` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:250:4 [INFO] [stdout] | [INFO] [stdout] 250 | fn is_player_good(conn: &Connection, player: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_last_event_id` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:263:4 [INFO] [stdout] | [INFO] [stdout] 263 | fn get_last_event_id(conn: &Connection) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_last_event_id` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:274:4 [INFO] [stdout] | [INFO] [stdout] 274 | fn set_last_event_id(conn: &Connection, id: i64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_events` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:286:4 [INFO] [stdout] | [INFO] [stdout] 286 | fn fetch_events(conn: &Connection, last_id: i64) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_entry_event` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:315:4 [INFO] [stdout] | [INFO] [stdout] 315 | fn find_entry_event( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_side` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:347:4 [INFO] [stdout] | [INFO] [stdout] 347 | fn compute_side(entry: &TrackerEvent) -> Result<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_profit_pct` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:361:4 [INFO] [stdout] | [INFO] [stdout] 361 | fn compute_profit_pct(side: &str, entry_price: f64, exit_price: f64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `side_human` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:372:4 [INFO] [stdout] | [INFO] [stdout] 372 | fn side_human(side: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpc_base_url` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:380:4 [INFO] [stdout] | [INFO] [stdout] 380 | fn rpc_base_url(url: &str) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_position` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:384:10 [INFO] [stdout] | [INFO] [stdout] 384 | async fn open_position( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `close_position` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:540:10 [INFO] [stdout] | [INFO] [stdout] 540 | async fn close_position( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `record_profit` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:682:4 [INFO] [stdout] | [INFO] [stdout] 682 | fn record_profit( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_entry_event` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:746:10 [INFO] [stdout] | [INFO] [stdout] 746 | async fn handle_entry_event( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_target_event` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:782:10 [INFO] [stdout] | [INFO] [stdout] 782 | async fn handle_target_event( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_trader` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:876:4 [INFO] [stdout] | [INFO] [stdout] 876 | fn build_trader(cfg: &Config) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_event_by_id` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:885:4 [INFO] [stdout] | [INFO] [stdout] 885 | fn fetch_event_by_id(conn: &Connection, id: i64) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_polling` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:910:14 [INFO] [stdout] | [INFO] [stdout] 910 | pub async fn run_polling(cfg: Config) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_from_signals` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:1077:14 [INFO] [stdout] | [INFO] [stdout] 1077 | pub async fn run_from_signals( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TradeSignal` is never constructed [INFO] [stdout] --> src/bin/../trade/signal.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct TradeSignal { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/../trade/mod.rs:2279:13 [INFO] [stdout] | [INFO] [stdout] 2279 | let mut available_usdc = 0u64; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/trade/mod.rs:2279:13 [INFO] [stdout] | [INFO] [stdout] 2279 | let mut available_usdc = 0u64; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `position_id` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1872:31 [INFO] [stdout] | [INFO] [stdout] 1872 | let mut position_id = 0i64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1873:34 [INFO] [stdout] | [INFO] [stdout] 1873 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1874:33 [INFO] [stdout] | [INFO] [stdout] 1874 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_usdc_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1875:39 [INFO] [stdout] | [INFO] [stdout] 1875 | let mut reserved_usdc_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1876:38 [INFO] [stdout] | [INFO] [stdout] 1876 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1877:29 [INFO] [stdout] | [INFO] [stdout] 1877 | let mut free_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1878:28 [INFO] [stdout] | [INFO] [stdout] 1878 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `position_id` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2627:31 [INFO] [stdout] | [INFO] [stdout] 2627 | let mut position_id = 0i64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2628:34 [INFO] [stdout] | [INFO] [stdout] 2628 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2629:33 [INFO] [stdout] | [INFO] [stdout] 2629 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2630:38 [INFO] [stdout] | [INFO] [stdout] 2630 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2631:28 [INFO] [stdout] | [INFO] [stdout] 2631 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `available_usdc` [INFO] [stdout] --> src/bin/../trade/mod.rs:2279:13 [INFO] [stdout] | [INFO] [stdout] 2279 | let mut available_usdc = 0u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_available_usdc` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2277:34 [INFO] [stdout] | [INFO] [stdout] 2277 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2278:33 [INFO] [stdout] | [INFO] [stdout] 2278 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2280:38 [INFO] [stdout] | [INFO] [stdout] 2280 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2281:28 [INFO] [stdout] | [INFO] [stdout] 2281 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3025:34 [INFO] [stdout] | [INFO] [stdout] 3025 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3026:33 [INFO] [stdout] | [INFO] [stdout] 3026 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3027:38 [INFO] [stdout] | [INFO] [stdout] 3027 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3028:28 [INFO] [stdout] | [INFO] [stdout] 3028 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/../trade/mod.rs:2279:13 [INFO] [stdout] | [INFO] [stdout] 2279 | let mut available_usdc = 0u64; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `TradeDb` is more private than the item `Trader::db` [INFO] [stdout] --> src/bin/../trade/mod.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | pub db: TradeDb, [INFO] [stdout] | ^^^^^^^^^^^^^^^ field `Trader::db` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `TradeDb` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/bin/../trade/mod.rs:71:1 [INFO] [stdout] | [INFO] [stdout] 71 | struct TradeDb { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WSOL_MINT` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const WSOL_MINT: &str = "So11111111111111111111111111111111111111112"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIMULATION_FEE_LAMPORTS` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const SIMULATION_FEE_LAMPORTS: u64 = 5000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RPC_RATE_LIMIT_PER_SEC` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const RPC_RATE_LIMIT_PER_SEC: usize = 9; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RPC_RATE_LIMIT_WINDOW` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const RPC_RATE_LIMIT_WINDOW: Duration = Duration::from_secs(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GET_TRANSACTION_RETRY_ATTEMPTS` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const GET_TRANSACTION_RETRY_ATTEMPTS: usize = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GET_TRANSACTION_RETRY_DELAY_MS` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:55:7 [INFO] [stdout] | [INFO] [stdout] 55 | const GET_TRANSACTION_RETRY_DELAY_MS: u64 = 300; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Trader` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct Trader { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TradeDb` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | struct TradeDb { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_db_str` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 75 | impl ExecMode { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 76 | fn as_db_str(self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RpcRateLimiter` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | struct RpcRateLimiter { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `acquire` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 94 | impl RpcRateLimiter { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 95 | fn new(max_per_window: usize, window: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | async fn acquire(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RateLimitedRpcSender` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | struct RateLimitedRpcSender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `reconnect` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 134 | impl RateLimitedRpcSender { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 135 | fn new(url: String, limiter: Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | fn reconnect(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_rate_limited_rpc_client` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:174:4 [INFO] [stdout] | [INFO] [stdout] 174 | fn build_rate_limited_rpc_client(url: &str, limiter: Arc) -> RpcClient { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:180:8 [INFO] [stdout] | [INFO] [stdout] 179 | impl TradeDb { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 180 | fn new(path: &Path) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | fn open_conn(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | fn ensure_schema(&self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | fn ensure_positions_columns(conn: &Connection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | fn now_ms() -> i64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | fn insert_event( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | fn reserved_totals(conn: &Connection, payer: &Pubkey) -> Result<(u64, u64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 309 | fn reserved_totals_excluding( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn get_sim_wallet(conn: &Connection, payer: &Pubkey) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | fn upsert_sim_wallet(conn: &Connection, payer: &Pubkey, usdc: u64, sol: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 364 | async fn reconcile_pending( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 576 | fn fail_position(&self, id: i64, err: &str, reason: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 601 | fn mark_pending_retry(&self, id: i64, err: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 623 | async fn finalize_open_confirmed( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 775 | fn finalize_close_confirmed(&self, id: i64, side: &str, sig: Signature) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `token_program_for_mint_owner` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:814:4 [INFO] [stdout] | [INFO] [stdout] 814 | fn token_program_for_mint_owner(mint_owner: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenProgramFlavor` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:828:6 [INFO] [stdout] | [INFO] [stdout] 828 | enum TokenProgramFlavor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `program_id`, `sync_native_ix`, `close_account_ix`, `unpack_token_account`, `unpack_token_account_amount`, and `unpack_mint_decimals` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:834:8 [INFO] [stdout] | [INFO] [stdout] 833 | impl TokenProgramFlavor { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] 834 | fn program_id(&self) -> Pubkey { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 841 | fn sync_native_ix(&self, account: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 851 | fn close_account_ix( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 876 | fn unpack_token_account(&self, data: &[u8]) -> Result<(Pubkey, u64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 891 | fn unpack_token_account_amount(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 895 | fn unpack_mint_decimals(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HttpRpc` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:911:8 [INFO] [stdout] | [INFO] [stdout] 911 | struct HttpRpc { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_transaction_json` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:918:8 [INFO] [stdout] | [INFO] [stdout] 917 | impl HttpRpc { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 918 | fn new(url: String, limiter: Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 926 | async fn get_transaction_json(&self, signature: &Signature) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `try_get_transaction_json` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:962:10 [INFO] [stdout] | [INFO] [stdout] 962 | async fn try_get_transaction_json( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resolve_pool_mints` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:990:10 [INFO] [stdout] | [INFO] [stdout] 990 | async fn resolve_pool_mints(rpc: &RpcClient, whirlpool: &Pubkey) -> Result<(Pubkey, Pubkey)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mint_owner_program` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:999:10 [INFO] [stdout] | [INFO] [stdout] 999 | async fn mint_owner_program(rpc: &RpcClient, mint: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_mint_decimals` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1007:10 [INFO] [stdout] | [INFO] [stdout] 1007 | async fn load_mint_decimals( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_account_optional` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1019:10 [INFO] [stdout] | [INFO] [stdout] 1019 | async fn get_account_optional(rpc: &RpcClient, address: &Pubkey) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_wsol_ata_is_safe_to_use_and_close` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1027:10 [INFO] [stdout] | [INFO] [stdout] 1027 | async fn ensure_wsol_ata_is_safe_to_use_and_close( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ui_to_amount` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1046:4 [INFO] [stdout] | [INFO] [stdout] 1046 | fn ui_to_amount(ui: &str, decimals: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sum_token_accounts_by_owner` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1087:10 [INFO] [stdout] | [INFO] [stdout] 1087 | async fn sum_token_accounts_by_owner( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_effective_wallet_balances` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1123:10 [INFO] [stdout] | [INFO] [stdout] 1123 | async fn get_effective_wallet_balances( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_owner_token_accounts` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1149:10 [INFO] [stdout] | [INFO] [stdout] 1149 | async fn list_owner_token_accounts( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sum_owner_mint_delta` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1167:4 [INFO] [stdout] | [INFO] [stdout] 1167 | fn sum_owner_mint_delta(meta: &Value, owner: &Pubkey, mint: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `owner_lamport_delta` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1210:4 [INFO] [stdout] | [INFO] [stdout] 1210 | fn owner_lamport_delta(meta: &Value, msg: &Value, owner: &Pubkey) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_transaction_with_fee` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1254:10 [INFO] [stdout] | [INFO] [stdout] 1254 | async fn build_transaction_with_fee( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `simulated` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1291:5 [INFO] [stdout] | [INFO] [stdout] 1289 | struct TxExecution { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 1290 | signature: Signature, [INFO] [stdout] 1291 | simulated: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rent_budget_for_atas` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1422:10 [INFO] [stdout] | [INFO] [stdout] 1422 | async fn rent_budget_for_atas(rpc: &RpcClient, atas: &[Pubkey]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_reqwest_error` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1438:4 [INFO] [stdout] | [INFO] [stdout] 1438 | fn find_reqwest_error<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_orca_swap_error` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1454:4 [INFO] [stdout] | [INFO] [stdout] 1454 | fn format_orca_swap_error(err: &(dyn std::error::Error + 'static)) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_swap_instructions` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1530:10 [INFO] [stdout] | [INFO] [stdout] 1530 | async fn build_swap_instructions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_out_max_in` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1553:4 [INFO] [stdout] | [INFO] [stdout] 1553 | fn exact_out_max_in(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_out_est_in` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1560:4 [INFO] [stdout] | [INFO] [stdout] 1560 | fn exact_out_est_in(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_in_min_out` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1567:4 [INFO] [stdout] | [INFO] [stdout] 1567 | fn exact_in_min_out(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_in_est_out` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1574:4 [INFO] [stdout] | [INFO] [stdout] 1574 | fn exact_in_est_out(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_simulation_addresses` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1581:4 [INFO] [stdout] | [INFO] [stdout] 1581 | fn build_simulation_addresses( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `post_balances_from_simulation` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1596:4 [INFO] [stdout] | [INFO] [stdout] 1596 | fn post_balances_from_simulation( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_pool_is_wsol_pair` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1639:4 [INFO] [stdout] | [INFO] [stdout] 1639 | fn ensure_pool_is_wsol_pair(mint_a: Pubkey, mint_b: Pubkey) -> Result<(Pubkey, Pubkey)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `u64_to_i64` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1706:4 [INFO] [stdout] | [INFO] [stdout] 1706 | fn u64_to_i64(value: u64, label: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `checked_free_amount` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1710:4 [INFO] [stdout] | [INFO] [stdout] 1710 | fn checked_free_amount(effective: u64, reserved: u64, label: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mark_failed` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1718:4 [INFO] [stdout] | [INFO] [stdout] 1718 | fn mark_failed(db: &TradeDb, position_id: i64, stage: &str, error: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mark_exec_error` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1744:4 [INFO] [stdout] | [INFO] [stdout] 1744 | fn mark_exec_error(db: &TradeDb, position_id: i64, error: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1763:12 [INFO] [stdout] | [INFO] [stdout] 1762 | impl Trader { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 1763 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1784 | pub async fn open_long( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2179 | pub async fn close_long(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2536 | pub async fn open_short( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2925 | pub async fn close_short(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3292 | pub async fn open_long_on_pool( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3301 | pub async fn close_long_on_pool(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3305 | pub async fn open_short_on_pool( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3314 | pub async fn close_short_on_pool(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TRACKER_DB` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const DEFAULT_TRACKER_DB: &str = "tracker.db"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TRADE_DB` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const DEFAULT_TRADE_DB: &str = "trade.db"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PLAYERS_DB` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const DEFAULT_PLAYERS_DB: &str = "players.db"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_POOL` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const DEFAULT_POOL: &str = "Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_USDC_UI` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const DEFAULT_USDC_UI: &str = "1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_SLIPPAGE_BPS` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const DEFAULT_SLIPPAGE_BPS: u16 = 10_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_POLL_MS` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const DEFAULT_POLL_MS: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EVENT_BATCH_LIMIT` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const EVENT_BATCH_LIMIT: i64 = 200; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TRADE_RPC_URL` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const DEFAULT_TRADE_RPC_URL: &str = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Config` is never constructed [INFO] [stdout] --> src/bin/../trade/executor.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TrackerEvent` is never constructed [INFO] [stdout] --> src/bin/../trade/executor.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | struct TrackerEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_config` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn default_config() -> Config { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_config` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn validate_config(cfg: &Config) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `config_from_env` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn config_from_env() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `config_from_env_with_mode` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn config_from_env_with_mode(mode: trade::ExecMode) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_args` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn parse_args() -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_one_usdc` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn is_one_usdc(raw: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_usage` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:166:4 [INFO] [stdout] | [INFO] [stdout] 166 | fn print_usage() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now_ms` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:192:4 [INFO] [stdout] | [INFO] [stdout] 192 | fn now_ms() -> i64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_db` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:196:4 [INFO] [stdout] | [INFO] [stdout] 196 | fn open_db(path: &str) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_trade_links_schema` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn ensure_trade_links_schema(conn: &Connection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_players_schema` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:231:4 [INFO] [stdout] | [INFO] [stdout] 231 | fn ensure_players_schema(conn: &Connection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_player_good` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:250:4 [INFO] [stdout] | [INFO] [stdout] 250 | fn is_player_good(conn: &Connection, player: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_last_event_id` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:263:4 [INFO] [stdout] | [INFO] [stdout] 263 | fn get_last_event_id(conn: &Connection) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_last_event_id` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:274:4 [INFO] [stdout] | [INFO] [stdout] 274 | fn set_last_event_id(conn: &Connection, id: i64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_events` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:286:4 [INFO] [stdout] | [INFO] [stdout] 286 | fn fetch_events(conn: &Connection, last_id: i64) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_entry_event` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:315:4 [INFO] [stdout] | [INFO] [stdout] 315 | fn find_entry_event( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_side` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:347:4 [INFO] [stdout] | [INFO] [stdout] 347 | fn compute_side(entry: &TrackerEvent) -> Result<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_profit_pct` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:361:4 [INFO] [stdout] | [INFO] [stdout] 361 | fn compute_profit_pct(side: &str, entry_price: f64, exit_price: f64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `side_human` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:372:4 [INFO] [stdout] | [INFO] [stdout] 372 | fn side_human(side: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpc_base_url` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:380:4 [INFO] [stdout] | [INFO] [stdout] 380 | fn rpc_base_url(url: &str) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_position` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:384:10 [INFO] [stdout] | [INFO] [stdout] 384 | async fn open_position( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `close_position` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:540:10 [INFO] [stdout] | [INFO] [stdout] 540 | async fn close_position( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `record_profit` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:682:4 [INFO] [stdout] | [INFO] [stdout] 682 | fn record_profit( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_entry_event` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:746:10 [INFO] [stdout] | [INFO] [stdout] 746 | async fn handle_entry_event( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_target_event` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:782:10 [INFO] [stdout] | [INFO] [stdout] 782 | async fn handle_target_event( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_trader` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:876:4 [INFO] [stdout] | [INFO] [stdout] 876 | fn build_trader(cfg: &Config) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_event_by_id` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:885:4 [INFO] [stdout] | [INFO] [stdout] 885 | fn fetch_event_by_id(conn: &Connection, id: i64) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_polling` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:910:14 [INFO] [stdout] | [INFO] [stdout] 910 | pub async fn run_polling(cfg: Config) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_from_signals` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:1077:14 [INFO] [stdout] | [INFO] [stdout] 1077 | pub async fn run_from_signals( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `action` are never read [INFO] [stdout] --> src/bin/../trade/signal.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct TradeSignal { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 3 | pub id: i64, [INFO] [stdout] | ^^ [INFO] [stdout] 4 | pub action: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TradeSignal` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RPC_RETRY_ATTEMPTS` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:31:7 [INFO] [stdout] | [INFO] [stdout] 31 | const RPC_RETRY_ATTEMPTS: usize = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RPC_RETRY_DELAY_MS` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const RPC_RETRY_DELAY_MS: u64 = 200; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PoolData` is never constructed [INFO] [stdout] --> src/bin/../trade/swap.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | struct PoolData { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TickSelection` is never constructed [INFO] [stdout] --> src/bin/../trade/swap.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | struct TickSelection { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `log_rpc_request` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn log_rpc_request(method: &str, details: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `log_rpc_error` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn log_rpc_error(method: &str, details: &str, err: &E) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpc_get_account` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | async fn rpc_get_account(rpc: &RpcClient, address: &Pubkey, purpose: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpc_get_multiple_accounts` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:74:10 [INFO] [stdout] | [INFO] [stdout] 74 | async fn rpc_get_multiple_accounts( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpc_get_epoch_info` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:108:10 [INFO] [stdout] | [INFO] [stdout] 108 | async fn rpc_get_epoch_info(rpc: &RpcClient, purpose: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_pool` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:120:10 [INFO] [stdout] | [INFO] [stdout] 120 | async fn fetch_pool(rpc: &RpcClient, address: Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `derive_tick_arrays` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:144:10 [INFO] [stdout] | [INFO] [stdout] 144 | async fn derive_tick_arrays( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_tick` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:201:4 [INFO] [stdout] | [INFO] [stdout] 201 | fn empty_tick(start_tick_index: i32) -> TickArrayFacade { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quote_exact_in` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:208:10 [INFO] [stdout] | [INFO] [stdout] 208 | async fn quote_exact_in( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quote_exact_out` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:250:10 [INFO] [stdout] | [INFO] [stdout] 250 | async fn quote_exact_out( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_oracle_optional` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:292:10 [INFO] [stdout] | [INFO] [stdout] 292 | async fn fetch_oracle_optional(rpc: &RpcClient, pool: &PoolData) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_swap_instruction` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:301:4 [INFO] [stdout] | [INFO] [stdout] 301 | fn build_swap_instruction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_transfer_fee` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:364:4 [INFO] [stdout] | [INFO] [stdout] 364 | fn extract_transfer_fee( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_long` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:381:14 [INFO] [stdout] | [INFO] [stdout] 381 | pub async fn open_long( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `close_long` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:405:14 [INFO] [stdout] | [INFO] [stdout] 405 | pub async fn close_long( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_short` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:429:14 [INFO] [stdout] | [INFO] [stdout] 429 | pub async fn open_short( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `close_short` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:453:14 [INFO] [stdout] | [INFO] [stdout] 453 | pub async fn close_short( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_manual_swap` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:477:10 [INFO] [stdout] | [INFO] [stdout] 477 | async fn build_manual_swap( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/trade/mod.rs:2279:13 [INFO] [stdout] | [INFO] [stdout] 2279 | let mut available_usdc = 0u64; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `position_id` is never read [INFO] [stdout] --> src/trade/mod.rs:1872:31 [INFO] [stdout] | [INFO] [stdout] 1872 | let mut position_id = 0i64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/trade/mod.rs:1873:34 [INFO] [stdout] | [INFO] [stdout] 1873 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:1874:33 [INFO] [stdout] | [INFO] [stdout] 1874 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_usdc_total` is never read [INFO] [stdout] --> src/trade/mod.rs:1875:39 [INFO] [stdout] | [INFO] [stdout] 1875 | let mut reserved_usdc_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/trade/mod.rs:1876:38 [INFO] [stdout] | [INFO] [stdout] 1876 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_usdc` is never read [INFO] [stdout] --> src/trade/mod.rs:1877:29 [INFO] [stdout] | [INFO] [stdout] 1877 | let mut free_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:1878:28 [INFO] [stdout] | [INFO] [stdout] 1878 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `position_id` is never read [INFO] [stdout] --> src/trade/mod.rs:2627:31 [INFO] [stdout] | [INFO] [stdout] 2627 | let mut position_id = 0i64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/trade/mod.rs:2628:34 [INFO] [stdout] | [INFO] [stdout] 2628 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:2629:33 [INFO] [stdout] | [INFO] [stdout] 2629 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/trade/mod.rs:2630:38 [INFO] [stdout] | [INFO] [stdout] 2630 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:2631:28 [INFO] [stdout] | [INFO] [stdout] 2631 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `available_usdc` [INFO] [stdout] --> src/trade/mod.rs:2279:13 [INFO] [stdout] | [INFO] [stdout] 2279 | let mut available_usdc = 0u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_available_usdc` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/trade/mod.rs:2277:34 [INFO] [stdout] | [INFO] [stdout] 2277 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:2278:33 [INFO] [stdout] | [INFO] [stdout] 2278 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/trade/mod.rs:2280:38 [INFO] [stdout] | [INFO] [stdout] 2280 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:2281:28 [INFO] [stdout] | [INFO] [stdout] 2281 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/trade/mod.rs:3025:34 [INFO] [stdout] | [INFO] [stdout] 3025 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:3026:33 [INFO] [stdout] | [INFO] [stdout] 3026 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/trade/mod.rs:3027:38 [INFO] [stdout] | [INFO] [stdout] 3027 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:3028:28 [INFO] [stdout] | [INFO] [stdout] 3028 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `position_id` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1872:31 [INFO] [stdout] | [INFO] [stdout] 1872 | let mut position_id = 0i64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1873:34 [INFO] [stdout] | [INFO] [stdout] 1873 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1874:33 [INFO] [stdout] | [INFO] [stdout] 1874 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_usdc_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1875:39 [INFO] [stdout] | [INFO] [stdout] 1875 | let mut reserved_usdc_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1876:38 [INFO] [stdout] | [INFO] [stdout] 1876 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1877:29 [INFO] [stdout] | [INFO] [stdout] 1877 | let mut free_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1878:28 [INFO] [stdout] | [INFO] [stdout] 1878 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `TradeDb` is more private than the item `Trader::db` [INFO] [stdout] --> src/trade/mod.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | pub db: TradeDb, [INFO] [stdout] | ^^^^^^^^^^^^^^^ field `Trader::db` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `TradeDb` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/trade/mod.rs:71:1 [INFO] [stdout] | [INFO] [stdout] 71 | struct TradeDb { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `sync_native_ix` is never used [INFO] [stdout] --> src/trade/mod.rs:841:8 [INFO] [stdout] | [INFO] [stdout] 833 | impl TokenProgramFlavor { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 841 | fn sync_native_ix(&self, account: &Pubkey) -> Result { [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 `find_reqwest_error` is never used [INFO] [stdout] --> src/trade/mod.rs:1438:4 [INFO] [stdout] | [INFO] [stdout] 1438 | fn find_reqwest_error<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_orca_swap_error` is never used [INFO] [stdout] --> src/trade/mod.rs:1454:4 [INFO] [stdout] | [INFO] [stdout] 1454 | fn format_orca_swap_error(err: &(dyn std::error::Error + 'static)) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_swap_instructions` is never used [INFO] [stdout] --> src/trade/mod.rs:1530:10 [INFO] [stdout] | [INFO] [stdout] 1530 | async fn build_swap_instructions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `open_long_on_pool`, `close_long_on_pool`, `open_short_on_pool`, and `close_short_on_pool` are never used [INFO] [stdout] --> src/trade/mod.rs:3292:18 [INFO] [stdout] | [INFO] [stdout] 1762 | impl Trader { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 3292 | pub async fn open_long_on_pool( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3301 | pub async fn close_long_on_pool(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3305 | pub async fn open_short_on_pool( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3314 | pub async fn close_short_on_pool(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EVENT_BATCH_LIMIT` is never used [INFO] [stdout] --> src/trade/executor.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const EVENT_BATCH_LIMIT: i64 = 200; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `once` and `poll_ms` are never read [INFO] [stdout] --> src/trade/executor.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 34 | once: bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] 35 | poll_ms: u64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Config` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `config_from_env` is never used [INFO] [stdout] --> src/trade/executor.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn config_from_env() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_args` is never used [INFO] [stdout] --> src/trade/executor.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn parse_args() -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_usage` is never used [INFO] [stdout] --> src/trade/executor.rs:166:4 [INFO] [stdout] | [INFO] [stdout] 166 | fn print_usage() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_last_event_id` is never used [INFO] [stdout] --> src/trade/executor.rs:263:4 [INFO] [stdout] | [INFO] [stdout] 263 | fn get_last_event_id(conn: &Connection) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_last_event_id` is never used [INFO] [stdout] --> src/trade/executor.rs:274:4 [INFO] [stdout] | [INFO] [stdout] 274 | fn set_last_event_id(conn: &Connection, id: i64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_events` is never used [INFO] [stdout] --> src/trade/executor.rs:286:4 [INFO] [stdout] | [INFO] [stdout] 286 | fn fetch_events(conn: &Connection, last_id: i64) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_polling` is never used [INFO] [stdout] --> src/trade/executor.rs:910:14 [INFO] [stdout] | [INFO] [stdout] 910 | pub async fn run_polling(cfg: Config) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `position_id` is never read [INFO] [stdout] --> src/trade/mod.rs:1872:31 [INFO] [stdout] | [INFO] [stdout] 1872 | let mut position_id = 0i64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/trade/mod.rs:1873:34 [INFO] [stdout] | [INFO] [stdout] 1873 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:1874:33 [INFO] [stdout] | [INFO] [stdout] 1874 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_usdc_total` is never read [INFO] [stdout] --> src/trade/mod.rs:1875:39 [INFO] [stdout] | [INFO] [stdout] 1875 | let mut reserved_usdc_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/trade/mod.rs:1876:38 [INFO] [stdout] | [INFO] [stdout] 1876 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_usdc` is never read [INFO] [stdout] --> src/trade/mod.rs:1877:29 [INFO] [stdout] | [INFO] [stdout] 1877 | let mut free_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:1878:28 [INFO] [stdout] | [INFO] [stdout] 1878 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `position_id` is never read [INFO] [stdout] --> src/trade/mod.rs:2627:31 [INFO] [stdout] | [INFO] [stdout] 2627 | let mut position_id = 0i64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/trade/mod.rs:2628:34 [INFO] [stdout] | [INFO] [stdout] 2628 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:2629:33 [INFO] [stdout] | [INFO] [stdout] 2629 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/trade/mod.rs:2630:38 [INFO] [stdout] | [INFO] [stdout] 2630 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:2631:28 [INFO] [stdout] | [INFO] [stdout] 2631 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `available_usdc` [INFO] [stdout] --> src/trade/mod.rs:2279:13 [INFO] [stdout] | [INFO] [stdout] 2279 | let mut available_usdc = 0u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_available_usdc` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/trade/mod.rs:2277:34 [INFO] [stdout] | [INFO] [stdout] 2277 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:2278:33 [INFO] [stdout] | [INFO] [stdout] 2278 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/trade/mod.rs:2280:38 [INFO] [stdout] | [INFO] [stdout] 2280 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:2281:28 [INFO] [stdout] | [INFO] [stdout] 2281 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/trade/mod.rs:3025:34 [INFO] [stdout] | [INFO] [stdout] 3025 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:3026:33 [INFO] [stdout] | [INFO] [stdout] 3026 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/trade/mod.rs:3027:38 [INFO] [stdout] | [INFO] [stdout] 3027 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/trade/mod.rs:3028:28 [INFO] [stdout] | [INFO] [stdout] 3028 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `position_id` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2627:31 [INFO] [stdout] | [INFO] [stdout] 2627 | let mut position_id = 0i64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2628:34 [INFO] [stdout] | [INFO] [stdout] 2628 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2629:33 [INFO] [stdout] | [INFO] [stdout] 2629 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2630:38 [INFO] [stdout] | [INFO] [stdout] 2630 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2631:28 [INFO] [stdout] | [INFO] [stdout] 2631 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `available_usdc` [INFO] [stdout] --> src/bin/../trade/mod.rs:2279:13 [INFO] [stdout] | [INFO] [stdout] 2279 | let mut available_usdc = 0u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_available_usdc` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2277:34 [INFO] [stdout] | [INFO] [stdout] 2277 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2278:33 [INFO] [stdout] | [INFO] [stdout] 2278 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2280:38 [INFO] [stdout] | [INFO] [stdout] 2280 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:2281:28 [INFO] [stdout] | [INFO] [stdout] 2281 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_usdc` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3025:34 [INFO] [stdout] | [INFO] [stdout] 3025 | let mut effective_usdc = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `effective_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3026:33 [INFO] [stdout] | [INFO] [stdout] 3026 | let mut effective_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reserved_sol_total` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3027:38 [INFO] [stdout] | [INFO] [stdout] 3027 | let mut reserved_sol_total = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `free_sol` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:3028:28 [INFO] [stdout] | [INFO] [stdout] 3028 | let mut free_sol = 0u64; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `TradeDb` is more private than the item `Trader::db` [INFO] [stdout] --> src/bin/../trade/mod.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | pub db: TradeDb, [INFO] [stdout] | ^^^^^^^^^^^^^^^ field `Trader::db` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `TradeDb` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/bin/../trade/mod.rs:71:1 [INFO] [stdout] | [INFO] [stdout] 71 | struct TradeDb { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `TradeDb` is more private than the item `Trader::db` [INFO] [stdout] --> src/trade/mod.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | pub db: TradeDb, [INFO] [stdout] | ^^^^^^^^^^^^^^^ field `Trader::db` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `TradeDb` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/trade/mod.rs:71:1 [INFO] [stdout] | [INFO] [stdout] 71 | struct TradeDb { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WSOL_MINT` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const WSOL_MINT: &str = "So11111111111111111111111111111111111111112"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIMULATION_FEE_LAMPORTS` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const SIMULATION_FEE_LAMPORTS: u64 = 5000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RPC_RATE_LIMIT_PER_SEC` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const RPC_RATE_LIMIT_PER_SEC: usize = 9; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RPC_RATE_LIMIT_WINDOW` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const RPC_RATE_LIMIT_WINDOW: Duration = Duration::from_secs(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GET_TRANSACTION_RETRY_ATTEMPTS` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const GET_TRANSACTION_RETRY_ATTEMPTS: usize = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GET_TRANSACTION_RETRY_DELAY_MS` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:55:7 [INFO] [stdout] | [INFO] [stdout] 55 | const GET_TRANSACTION_RETRY_DELAY_MS: u64 = 300; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Trader` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct Trader { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TradeDb` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | struct TradeDb { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_db_str` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 75 | impl ExecMode { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 76 | fn as_db_str(self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RpcRateLimiter` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | struct RpcRateLimiter { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `acquire` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 94 | impl RpcRateLimiter { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 95 | fn new(max_per_window: usize, window: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | async fn acquire(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RateLimitedRpcSender` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | struct RateLimitedRpcSender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `reconnect` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 134 | impl RateLimitedRpcSender { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 135 | fn new(url: String, limiter: Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | fn reconnect(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_rate_limited_rpc_client` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:174:4 [INFO] [stdout] | [INFO] [stdout] 174 | fn build_rate_limited_rpc_client(url: &str, limiter: Arc) -> RpcClient { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:180:8 [INFO] [stdout] | [INFO] [stdout] 179 | impl TradeDb { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 180 | fn new(path: &Path) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | fn open_conn(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | fn ensure_schema(&self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | fn ensure_positions_columns(conn: &Connection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | fn now_ms() -> i64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | fn insert_event( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | fn reserved_totals(conn: &Connection, payer: &Pubkey) -> Result<(u64, u64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 309 | fn reserved_totals_excluding( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn get_sim_wallet(conn: &Connection, payer: &Pubkey) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | fn upsert_sim_wallet(conn: &Connection, payer: &Pubkey, usdc: u64, sol: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 364 | async fn reconcile_pending( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 576 | fn fail_position(&self, id: i64, err: &str, reason: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 601 | fn mark_pending_retry(&self, id: i64, err: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 623 | async fn finalize_open_confirmed( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 775 | fn finalize_close_confirmed(&self, id: i64, side: &str, sig: Signature) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `token_program_for_mint_owner` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:814:4 [INFO] [stdout] | [INFO] [stdout] 814 | fn token_program_for_mint_owner(mint_owner: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenProgramFlavor` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:828:6 [INFO] [stdout] | [INFO] [stdout] 828 | enum TokenProgramFlavor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `program_id`, `sync_native_ix`, `close_account_ix`, `unpack_token_account`, `unpack_token_account_amount`, and `unpack_mint_decimals` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:834:8 [INFO] [stdout] | [INFO] [stdout] 833 | impl TokenProgramFlavor { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] 834 | fn program_id(&self) -> Pubkey { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 841 | fn sync_native_ix(&self, account: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 851 | fn close_account_ix( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 876 | fn unpack_token_account(&self, data: &[u8]) -> Result<(Pubkey, u64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 891 | fn unpack_token_account_amount(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 895 | fn unpack_mint_decimals(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HttpRpc` is never constructed [INFO] [stdout] --> src/bin/../trade/mod.rs:911:8 [INFO] [stdout] | [INFO] [stdout] 911 | struct HttpRpc { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_transaction_json` are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:918:8 [INFO] [stdout] | [INFO] [stdout] 917 | impl HttpRpc { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 918 | fn new(url: String, limiter: Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 926 | async fn get_transaction_json(&self, signature: &Signature) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `try_get_transaction_json` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:962:10 [INFO] [stdout] | [INFO] [stdout] 962 | async fn try_get_transaction_json( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resolve_pool_mints` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:990:10 [INFO] [stdout] | [INFO] [stdout] 990 | async fn resolve_pool_mints(rpc: &RpcClient, whirlpool: &Pubkey) -> Result<(Pubkey, Pubkey)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mint_owner_program` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:999:10 [INFO] [stdout] | [INFO] [stdout] 999 | async fn mint_owner_program(rpc: &RpcClient, mint: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_mint_decimals` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1007:10 [INFO] [stdout] | [INFO] [stdout] 1007 | async fn load_mint_decimals( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_account_optional` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1019:10 [INFO] [stdout] | [INFO] [stdout] 1019 | async fn get_account_optional(rpc: &RpcClient, address: &Pubkey) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_wsol_ata_is_safe_to_use_and_close` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1027:10 [INFO] [stdout] | [INFO] [stdout] 1027 | async fn ensure_wsol_ata_is_safe_to_use_and_close( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ui_to_amount` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1046:4 [INFO] [stdout] | [INFO] [stdout] 1046 | fn ui_to_amount(ui: &str, decimals: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sum_token_accounts_by_owner` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1087:10 [INFO] [stdout] | [INFO] [stdout] 1087 | async fn sum_token_accounts_by_owner( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_effective_wallet_balances` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1123:10 [INFO] [stdout] | [INFO] [stdout] 1123 | async fn get_effective_wallet_balances( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_owner_token_accounts` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1149:10 [INFO] [stdout] | [INFO] [stdout] 1149 | async fn list_owner_token_accounts( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sum_owner_mint_delta` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1167:4 [INFO] [stdout] | [INFO] [stdout] 1167 | fn sum_owner_mint_delta(meta: &Value, owner: &Pubkey, mint: &Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `owner_lamport_delta` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1210:4 [INFO] [stdout] | [INFO] [stdout] 1210 | fn owner_lamport_delta(meta: &Value, msg: &Value, owner: &Pubkey) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_transaction_with_fee` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1254:10 [INFO] [stdout] | [INFO] [stdout] 1254 | async fn build_transaction_with_fee( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `simulated` is never read [INFO] [stdout] --> src/bin/../trade/mod.rs:1291:5 [INFO] [stdout] | [INFO] [stdout] 1289 | struct TxExecution { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 1290 | signature: Signature, [INFO] [stdout] 1291 | simulated: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rent_budget_for_atas` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1422:10 [INFO] [stdout] | [INFO] [stdout] 1422 | async fn rent_budget_for_atas(rpc: &RpcClient, atas: &[Pubkey]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_reqwest_error` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1438:4 [INFO] [stdout] | [INFO] [stdout] 1438 | fn find_reqwest_error<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_orca_swap_error` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1454:4 [INFO] [stdout] | [INFO] [stdout] 1454 | fn format_orca_swap_error(err: &(dyn std::error::Error + 'static)) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_swap_instructions` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1530:10 [INFO] [stdout] | [INFO] [stdout] 1530 | async fn build_swap_instructions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_out_max_in` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1553:4 [INFO] [stdout] | [INFO] [stdout] 1553 | fn exact_out_max_in(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_out_est_in` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1560:4 [INFO] [stdout] | [INFO] [stdout] 1560 | fn exact_out_est_in(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_in_min_out` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1567:4 [INFO] [stdout] | [INFO] [stdout] 1567 | fn exact_in_min_out(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exact_in_est_out` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1574:4 [INFO] [stdout] | [INFO] [stdout] 1574 | fn exact_in_est_out(quote: &SwapQuote) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_simulation_addresses` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1581:4 [INFO] [stdout] | [INFO] [stdout] 1581 | fn build_simulation_addresses( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `post_balances_from_simulation` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1596:4 [INFO] [stdout] | [INFO] [stdout] 1596 | fn post_balances_from_simulation( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `sync_native_ix` is never used [INFO] [stdout] --> src/trade/mod.rs:841:8 [INFO] [stdout] | [INFO] [stdout] 833 | impl TokenProgramFlavor { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 841 | fn sync_native_ix(&self, account: &Pubkey) -> Result { [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 `ensure_pool_is_wsol_pair` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1639:4 [INFO] [stdout] | [INFO] [stdout] 1639 | fn ensure_pool_is_wsol_pair(mint_a: Pubkey, mint_b: Pubkey) -> Result<(Pubkey, Pubkey)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `u64_to_i64` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1706:4 [INFO] [stdout] | [INFO] [stdout] 1706 | fn u64_to_i64(value: u64, label: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `checked_free_amount` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1710:4 [INFO] [stdout] | [INFO] [stdout] 1710 | fn checked_free_amount(effective: u64, reserved: u64, label: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mark_failed` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1718:4 [INFO] [stdout] | [INFO] [stdout] 1718 | fn mark_failed(db: &TradeDb, position_id: i64, stage: &str, error: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mark_exec_error` is never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1744:4 [INFO] [stdout] | [INFO] [stdout] 1744 | fn mark_exec_error(db: &TradeDb, position_id: i64, error: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_reqwest_error` is never used [INFO] [stdout] --> src/trade/mod.rs:1438:4 [INFO] [stdout] | [INFO] [stdout] 1438 | fn find_reqwest_error<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/bin/../trade/mod.rs:1763:12 [INFO] [stdout] | [INFO] [stdout] 1762 | impl Trader { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 1763 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1784 | pub async fn open_long( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2179 | pub async fn close_long(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2536 | pub async fn open_short( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2925 | pub async fn close_short(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3292 | pub async fn open_long_on_pool( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3301 | pub async fn close_long_on_pool(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3305 | pub async fn open_short_on_pool( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3314 | pub async fn close_short_on_pool(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_orca_swap_error` is never used [INFO] [stdout] --> src/trade/mod.rs:1454:4 [INFO] [stdout] | [INFO] [stdout] 1454 | fn format_orca_swap_error(err: &(dyn std::error::Error + 'static)) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_swap_instructions` is never used [INFO] [stdout] --> src/trade/mod.rs:1530:10 [INFO] [stdout] | [INFO] [stdout] 1530 | async fn build_swap_instructions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TRACKER_DB` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const DEFAULT_TRACKER_DB: &str = "tracker.db"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TRADE_DB` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const DEFAULT_TRADE_DB: &str = "trade.db"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PLAYERS_DB` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const DEFAULT_PLAYERS_DB: &str = "players.db"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_POOL` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const DEFAULT_POOL: &str = "Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_USDC_UI` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const DEFAULT_USDC_UI: &str = "1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_SLIPPAGE_BPS` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const DEFAULT_SLIPPAGE_BPS: u16 = 10_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_POLL_MS` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const DEFAULT_POLL_MS: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EVENT_BATCH_LIMIT` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const EVENT_BATCH_LIMIT: i64 = 200; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TRADE_RPC_URL` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const DEFAULT_TRADE_RPC_URL: &str = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Config` is never constructed [INFO] [stdout] --> src/bin/../trade/executor.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TrackerEvent` is never constructed [INFO] [stdout] --> src/bin/../trade/executor.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | struct TrackerEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_config` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn default_config() -> Config { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_config` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn validate_config(cfg: &Config) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.69s [INFO] [stdout] warning: function `config_from_env` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn config_from_env() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `config_from_env_with_mode` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn config_from_env_with_mode(mode: trade::ExecMode) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_args` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn parse_args() -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_one_usdc` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn is_one_usdc(raw: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_usage` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:166:4 [INFO] [stdout] | [INFO] [stdout] 166 | fn print_usage() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now_ms` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:192:4 [INFO] [stdout] | [INFO] [stdout] 192 | fn now_ms() -> i64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_db` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:196:4 [INFO] [stdout] | [INFO] [stdout] 196 | fn open_db(path: &str) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_trade_links_schema` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn ensure_trade_links_schema(conn: &Connection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_players_schema` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:231:4 [INFO] [stdout] | [INFO] [stdout] 231 | fn ensure_players_schema(conn: &Connection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_player_good` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:250:4 [INFO] [stdout] | [INFO] [stdout] 250 | fn is_player_good(conn: &Connection, player: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_last_event_id` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:263:4 [INFO] [stdout] | [INFO] [stdout] 263 | fn get_last_event_id(conn: &Connection) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_last_event_id` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:274:4 [INFO] [stdout] | [INFO] [stdout] 274 | fn set_last_event_id(conn: &Connection, id: i64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_events` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:286:4 [INFO] [stdout] | [INFO] [stdout] 286 | fn fetch_events(conn: &Connection, last_id: i64) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_entry_event` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:315:4 [INFO] [stdout] | [INFO] [stdout] 315 | fn find_entry_event( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_side` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:347:4 [INFO] [stdout] | [INFO] [stdout] 347 | fn compute_side(entry: &TrackerEvent) -> Result<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_profit_pct` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:361:4 [INFO] [stdout] | [INFO] [stdout] 361 | fn compute_profit_pct(side: &str, entry_price: f64, exit_price: f64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `side_human` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:372:4 [INFO] [stdout] | [INFO] [stdout] 372 | fn side_human(side: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `open_long_on_pool`, `close_long_on_pool`, `open_short_on_pool`, and `close_short_on_pool` are never used [INFO] [stdout] --> src/trade/mod.rs:3292:18 [INFO] [stdout] | [INFO] [stdout] 1762 | impl Trader { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 3292 | pub async fn open_long_on_pool( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3301 | pub async fn close_long_on_pool(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3305 | pub async fn open_short_on_pool( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3314 | pub async fn close_short_on_pool(&self, position_id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpc_base_url` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:380:4 [INFO] [stdout] | [INFO] [stdout] 380 | fn rpc_base_url(url: &str) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EVENT_BATCH_LIMIT` is never used [INFO] [stdout] --> src/trade/executor.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const EVENT_BATCH_LIMIT: i64 = 200; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_position` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:384:10 [INFO] [stdout] | [INFO] [stdout] 384 | async fn open_position( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `once` and `poll_ms` are never read [INFO] [stdout] --> src/trade/executor.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 34 | once: bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] 35 | poll_ms: u64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Config` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `config_from_env` is never used [INFO] [stdout] --> src/trade/executor.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn config_from_env() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `close_position` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:540:10 [INFO] [stdout] | [INFO] [stdout] 540 | async fn close_position( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_args` is never used [INFO] [stdout] --> src/trade/executor.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn parse_args() -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_usage` is never used [INFO] [stdout] --> src/trade/executor.rs:166:4 [INFO] [stdout] | [INFO] [stdout] 166 | fn print_usage() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_last_event_id` is never used [INFO] [stdout] --> src/trade/executor.rs:263:4 [INFO] [stdout] | [INFO] [stdout] 263 | fn get_last_event_id(conn: &Connection) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `record_profit` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:682:4 [INFO] [stdout] | [INFO] [stdout] 682 | fn record_profit( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_last_event_id` is never used [INFO] [stdout] --> src/trade/executor.rs:274:4 [INFO] [stdout] | [INFO] [stdout] 274 | fn set_last_event_id(conn: &Connection, id: i64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_events` is never used [INFO] [stdout] --> src/trade/executor.rs:286:4 [INFO] [stdout] | [INFO] [stdout] 286 | fn fetch_events(conn: &Connection, last_id: i64) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_polling` is never used [INFO] [stdout] --> src/trade/executor.rs:910:14 [INFO] [stdout] | [INFO] [stdout] 910 | pub async fn run_polling(cfg: Config) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_entry_event` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:746:10 [INFO] [stdout] | [INFO] [stdout] 746 | async fn handle_entry_event( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_target_event` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:782:10 [INFO] [stdout] | [INFO] [stdout] 782 | async fn handle_target_event( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_trader` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:876:4 [INFO] [stdout] | [INFO] [stdout] 876 | fn build_trader(cfg: &Config) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_event_by_id` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:885:4 [INFO] [stdout] | [INFO] [stdout] 885 | fn fetch_event_by_id(conn: &Connection, id: i64) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_polling` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:910:14 [INFO] [stdout] | [INFO] [stdout] 910 | pub async fn run_polling(cfg: Config) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_from_signals` is never used [INFO] [stdout] --> src/bin/../trade/executor.rs:1077:14 [INFO] [stdout] | [INFO] [stdout] 1077 | pub async fn run_from_signals( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `action` are never read [INFO] [stdout] --> src/bin/../trade/signal.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct TradeSignal { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 3 | pub id: i64, [INFO] [stdout] | ^^ [INFO] [stdout] 4 | pub action: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TradeSignal` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RPC_RETRY_ATTEMPTS` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:31:7 [INFO] [stdout] | [INFO] [stdout] 31 | const RPC_RETRY_ATTEMPTS: usize = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RPC_RETRY_DELAY_MS` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const RPC_RETRY_DELAY_MS: u64 = 200; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PoolData` is never constructed [INFO] [stdout] --> src/bin/../trade/swap.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | struct PoolData { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TickSelection` is never constructed [INFO] [stdout] --> src/bin/../trade/swap.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | struct TickSelection { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `log_rpc_request` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn log_rpc_request(method: &str, details: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `log_rpc_error` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn log_rpc_error(method: &str, details: &str, err: &E) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpc_get_account` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | async fn rpc_get_account(rpc: &RpcClient, address: &Pubkey, purpose: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpc_get_multiple_accounts` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:74:10 [INFO] [stdout] | [INFO] [stdout] 74 | async fn rpc_get_multiple_accounts( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rpc_get_epoch_info` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:108:10 [INFO] [stdout] | [INFO] [stdout] 108 | async fn rpc_get_epoch_info(rpc: &RpcClient, purpose: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_pool` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:120:10 [INFO] [stdout] | [INFO] [stdout] 120 | async fn fetch_pool(rpc: &RpcClient, address: Pubkey) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `derive_tick_arrays` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:144:10 [INFO] [stdout] | [INFO] [stdout] 144 | async fn derive_tick_arrays( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_tick` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:201:4 [INFO] [stdout] | [INFO] [stdout] 201 | fn empty_tick(start_tick_index: i32) -> TickArrayFacade { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quote_exact_in` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:208:10 [INFO] [stdout] | [INFO] [stdout] 208 | async fn quote_exact_in( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quote_exact_out` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:250:10 [INFO] [stdout] | [INFO] [stdout] 250 | async fn quote_exact_out( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_oracle_optional` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:292:10 [INFO] [stdout] | [INFO] [stdout] 292 | async fn fetch_oracle_optional(rpc: &RpcClient, pool: &PoolData) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_swap_instruction` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:301:4 [INFO] [stdout] | [INFO] [stdout] 301 | fn build_swap_instruction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_transfer_fee` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:364:4 [INFO] [stdout] | [INFO] [stdout] 364 | fn extract_transfer_fee( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_long` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:381:14 [INFO] [stdout] | [INFO] [stdout] 381 | pub async fn open_long( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `close_long` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:405:14 [INFO] [stdout] | [INFO] [stdout] 405 | pub async fn close_long( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_short` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:429:14 [INFO] [stdout] | [INFO] [stdout] 429 | pub async fn open_short( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `close_short` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:453:14 [INFO] [stdout] | [INFO] [stdout] 453 | pub async fn close_short( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_manual_swap` is never used [INFO] [stdout] --> src/bin/../trade/swap.rs:477:10 [INFO] [stdout] | [INFO] [stdout] 477 | async fn build_manual_swap( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "e708e845eb6a9130527124e5fe30fc5957a654a9ab39d2d1ae9f79c2d5ca4151", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e708e845eb6a9130527124e5fe30fc5957a654a9ab39d2d1ae9f79c2d5ca4151", kill_on_drop: false }` [INFO] [stdout] e708e845eb6a9130527124e5fe30fc5957a654a9ab39d2d1ae9f79c2d5ca4151