[INFO] cloning repository https://github.com/phungvanthien/auto-tradingbot-rsi15-timeframe-5mins [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/phungvanthien/auto-tradingbot-rsi15-timeframe-5mins" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fphungvanthien%2Fauto-tradingbot-rsi15-timeframe-5mins", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fphungvanthien%2Fauto-tradingbot-rsi15-timeframe-5mins'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a400ae8d3ab54d4eb64fe9a0641576c1f2e6acf3 [INFO] linting phungvanthien/auto-tradingbot-rsi15-timeframe-5mins against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fphungvanthien%2Fauto-tradingbot-rsi15-timeframe-5mins" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/phungvanthien/auto-tradingbot-rsi15-timeframe-5mins [INFO] finished tweaking git repo https://github.com/phungvanthien/auto-tradingbot-rsi15-timeframe-5mins [INFO] tweaked toml for git repo https://github.com/phungvanthien/auto-tradingbot-rsi15-timeframe-5mins written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/phungvanthien/auto-tradingbot-rsi15-timeframe-5mins on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/phungvanthien/auto-tradingbot-rsi15-timeframe-5mins 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded spl-associated-token-account v1.1.3 [INFO] [stderr] Downloaded solana-client v1.18.26 [INFO] [stderr] Downloaded solana-udp-client v1.18.26 [INFO] [stderr] Downloaded solana-perf v1.18.26 [INFO] [stderr] Downloaded solana-program-runtime v1.18.26 [INFO] [stderr] Downloaded solana-streamer v1.18.26 [INFO] [stderr] Downloaded spl-memo v3.0.1 [INFO] [stderr] Downloaded solana-vote-program v1.18.26 [INFO] [stderr] Downloaded solana-rpc-client-nonce-utils v1.18.26 [INFO] [stderr] Downloaded solana-thin-client v1.18.26 [INFO] [stderr] Downloaded rs-snowflake v0.6.0 [INFO] [stderr] Downloaded scroll_derive v0.11.1 [INFO] [stderr] Downloaded solana-pubsub-client v1.18.26 [INFO] [stderr] Downloaded solana-config-program v1.18.26 [INFO] [stderr] Downloaded async-net v1.8.0 [INFO] [stderr] Downloaded pkcs8 v0.8.0 [INFO] [stderr] Downloaded cron_clock v0.8.0 [INFO] [stderr] Downloaded solana-transaction-status v1.18.26 [INFO] [stderr] Downloaded event-listener v5.3.0 [INFO] [stderr] Downloaded solana-rpc-client v1.18.26 [INFO] [stderr] Downloaded quinn v0.10.2 [INFO] [stderr] Downloaded delay_timer v0.11.6 [INFO] [stderr] Downloaded spl-token-2022 v1.0.0 [INFO] [stderr] Downloaded quinn-proto v0.10.6 [INFO] [stderr] Downloaded portable-atomic v1.12.0 [INFO] [stderr] Downloaded goblin v0.5.4 [INFO] [stderr] Downloaded solana_rbpf v0.8.3 [INFO] [stderr] Downloaded spl-token-2022 v0.6.1 [INFO] [stderr] Downloaded smol v1.3.0 [INFO] [stderr] Downloaded dialoguer v0.10.4 [INFO] [stderr] Downloaded solana-remote-wallet v1.18.26 [INFO] [stderr] Downloaded solana-account-decoder v1.18.26 [INFO] [stderr] Downloaded solana-net-utils v1.18.26 [INFO] [stderr] Downloaded caps v0.5.6 [INFO] [stderr] Downloaded solana-rayon-threadlimit v1.18.26 [INFO] [stderr] Downloaded solana-metrics v1.18.26 [INFO] [stderr] Downloaded async-mutex v1.4.1 [INFO] [stderr] Downloaded solana-quic-client v1.18.26 [INFO] [stderr] Downloaded solana-clap-utils v1.18.26 [INFO] [stderr] Downloaded spl-tlv-account-resolution v0.5.1 [INFO] [stderr] Downloaded spl-transfer-hook-interface v0.4.1 [INFO] [stderr] Downloaded spl-associated-token-account v2.3.0 [INFO] [stderr] Downloaded solana-rpc-client-api v1.18.26 [INFO] [stderr] Downloaded solana-tpu-client v1.18.26 [INFO] [stderr] Downloaded solana-connection-cache v1.18.26 [INFO] [stderr] Downloaded solana-version v1.18.26 [INFO] [stderr] Downloaded spki v0.5.4 [INFO] [stderr] Downloaded solana-measure v1.18.26 [INFO] [stderr] Downloaded spl-token-group-interface v0.1.0 [INFO] [stderr] Downloaded quinn-udp v0.4.1 [INFO] [stderr] Downloaded enum-iterator-derive v1.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c75168730fb2c4beafbc05cdc208f443049c583b9f1019b418ce64ac354da4a8 [INFO] running `Command { std: "docker" "start" "-a" "c75168730fb2c4beafbc05cdc208f443049c583b9f1019b418ce64ac354da4a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c75168730fb2c4beafbc05cdc208f443049c583b9f1019b418ce64ac354da4a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c75168730fb2c4beafbc05cdc208f443049c583b9f1019b418ce64ac354da4a8", kill_on_drop: false }` [INFO] [stdout] c75168730fb2c4beafbc05cdc208f443049c583b9f1019b418ce64ac354da4a8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5d46a947656be97170490eab698ebb94e4e8fcf753dd0459a7b48922d187f340 [INFO] running `Command { std: "docker" "start" "-a" "5d46a947656be97170490eab698ebb94e4e8fcf753dd0459a7b48922d187f340", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.178 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking memchr v2.7.6 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling generic-array v0.14.9 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.106 [INFO] [stderr] Checking block-padding v0.2.1 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling subtle v2.4.1 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking tinyvec v1.10.0 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Checking zeroize v1.3.0 [INFO] [stderr] Checking bitmaps v2.1.0 [INFO] [stderr] Compiling im v15.1.0 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.106 [INFO] [stderr] Compiling borsh v1.6.0 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Compiling wasm-bindgen v0.2.106 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling solana-frozen-abi-macro v1.18.26 [INFO] [stderr] Compiling solana-frozen-abi v1.18.26 [INFO] [stderr] Checking unicode-ident v1.0.22 [INFO] [stderr] Checking unicode-normalization v0.1.25 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Checking sized-chunks v0.6.5 [INFO] [stderr] Compiling bs58 v0.4.0 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling solana-sdk-macro v1.18.26 [INFO] [stderr] Compiling libsecp256k1-core v0.2.2 [INFO] [stderr] Compiling cc v1.2.50 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling toml_parser v1.0.6+spec-1.1.0 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling toml_edit v0.23.10+spec-1.0.0 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking bitflags v2.10.0 [INFO] [stderr] Checking hashbrown v0.13.2 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking serde_json v1.0.146 [INFO] [stderr] Compiling libsecp256k1-gen-genmult v0.2.1 [INFO] [stderr] Compiling libsecp256k1-gen-ecmult v0.2.1 [INFO] [stderr] Checking rand_xoshiro v0.6.0 [INFO] [stderr] Checking serde_bytes v0.11.19 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Compiling libsecp256k1 v0.6.0 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking memmap2 v0.5.10 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [INFO] [stderr] Checking bv v0.11.1 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking bytemuck v1.24.0 [INFO] [stderr] Checking signal-hook-registry v1.4.7 [INFO] [stderr] Checking ark-std v0.4.0 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking socket2 v0.6.1 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Compiling borsh-derive v1.6.0 [INFO] [stderr] Checking signature v1.6.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Checking crypto-mac v0.8.0 [INFO] [stderr] Compiling blake3 v1.8.2 [INFO] [stderr] Compiling solana-program v1.18.26 [INFO] [stderr] Checking sha2 v0.9.9 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.10.4 [INFO] [stderr] Checking hmac v0.8.1 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.9.3 [INFO] [stderr] Compiling borsh-derive-internal v0.9.3 [INFO] [stderr] Compiling borsh-derive-internal v0.10.4 [INFO] [stderr] Checking curve25519-dalek v3.2.1 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.106 [INFO] [stderr] Checking hmac-drbg v0.3.0 [INFO] [stderr] Checking pbkdf2 v0.4.0 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking tiny-bip39 v0.8.2 [INFO] [stderr] Checking regex v1.12.2 [INFO] [stderr] Checking tokio v1.48.0 [INFO] [stderr] Checking chrono v0.4.42 [INFO] [stderr] Checking ed25519 v1.5.3 [INFO] [stderr] Checking humantime v2.3.0 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Compiling num_enum_derive v0.7.5 [INFO] [stderr] Checking env_logger v0.9.3 [INFO] [stderr] Compiling solana-sdk v1.18.26 [INFO] [stderr] Checking derivation-path v0.2.0 [INFO] [stderr] Checking pbkdf2 v0.11.0 [INFO] [stderr] Checking qstring v0.7.2 [INFO] [stderr] Compiling qualifier_attr v0.2.2 [INFO] [stderr] Checking assert_matches v1.5.0 [INFO] [stderr] Checking solana-logger v1.18.26 [INFO] [stderr] Checking siphasher v0.3.11 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking ed25519-dalek v1.0.1 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking num_enum v0.7.5 [INFO] [stderr] Checking ed25519-dalek-bip32 v0.2.0 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Checking cipher v0.3.0 [INFO] [stderr] Checking universal-hash v0.4.1 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking polyval v0.5.3 [INFO] [stderr] Checking aes v0.7.5 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Checking ctr v0.8.0 [INFO] [stderr] Checking aead v0.4.3 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling serde_with_macros v2.3.3 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking sha3 v0.9.1 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Checking aes-gcm-siv v0.10.3 [INFO] [stderr] Checking merlin v3.0.0 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Checking compression-core v0.4.31 [INFO] [stderr] Compiling ark-serialize-derive v0.4.2 [INFO] [stderr] Compiling ark-ff-asm v0.4.2 [INFO] [stderr] Compiling ark-ff-macros v0.4.2 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling borsh-derive v0.10.4 [INFO] [stderr] Compiling borsh-derive v0.9.3 [INFO] [stderr] Checking serde_with v2.3.3 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Checking borsh v0.10.4 [INFO] [stderr] Checking ark-serialize v0.4.2 [INFO] [stderr] Checking borsh v0.9.3 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking compression-codecs v0.4.35 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Checking webpki-roots v0.25.4 [INFO] [stderr] Compiling spl-discriminator-syn v0.1.2 [INFO] [stderr] Compiling spl-program-error-derive v0.3.2 [INFO] [stderr] Compiling scroll_derive v0.11.1 [INFO] [stderr] Checking unreachable v1.0.0 [INFO] [stderr] Compiling spl-discriminator-derive v0.1.2 [INFO] [stderr] Checking gethostname v0.2.3 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking ascii v0.9.3 [INFO] [stderr] Checking plain v0.2.3 [INFO] [stderr] Compiling solana-program-runtime v1.18.26 [INFO] [stderr] Checking hash32 v0.2.1 [INFO] [stderr] Compiling enum-iterator-derive v1.5.0 [INFO] [stderr] Checking rustc-demangle v0.1.26 [INFO] [stderr] Checking combine v3.8.1 [INFO] [stderr] Checking time v0.3.44 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Checking eager v0.1.0 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Checking scroll v0.11.0 [INFO] [stderr] Checking goblin v0.5.4 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking num v0.2.1 [INFO] [stderr] Checking percentage v0.1.0 [INFO] [stderr] Checking ark-ff v0.4.2 [INFO] [stderr] Checking url v2.5.7 [INFO] [stderr] Checking enum-iterator v1.5.0 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Compiling solana-version v1.18.26 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Compiling solana-vote-program v1.18.26 [INFO] [stderr] Checking Inflector v0.11.4 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking unicode-width v0.2.2 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Checking futures-lite v2.6.1 [INFO] [stderr] Compiling num_enum_derive v0.6.1 [INFO] [stderr] Checking tokio-util v0.7.17 [INFO] [stderr] Checking async-compression v0.4.36 [INFO] [stderr] Compiling memoffset v0.7.1 [INFO] [stderr] Checking console v0.15.11 [INFO] [stderr] Checking yasna v0.5.2 [INFO] [stderr] Checking jsonrpc-core v18.0.0 [INFO] [stderr] Compiling asn1-rs-derive v0.4.0 [INFO] [stderr] Checking h2 v0.3.27 [INFO] [stderr] Compiling asn1-rs-impl v0.1.0 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking num_enum v0.6.1 [INFO] [stderr] Compiling portable-atomic v1.12.0 [INFO] [stderr] Checking event-listener v5.3.0 [INFO] [stderr] Compiling polling v2.8.0 [INFO] [stderr] Checking rusticata-macros v4.1.0 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling oid-registry v0.6.1 [INFO] [stderr] Checking waker-fn v1.2.0 [INFO] [stderr] Compiling rustix v0.37.28 [INFO] [stderr] Checking const-oid v0.7.1 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Checking futures-lite v1.13.0 [INFO] [stderr] Checking der v0.5.1 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Checking asn1-rs v0.5.2 [INFO] [stderr] Checking io-lifetimes v1.0.11 [INFO] [stderr] Checking async-lock v2.8.0 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Compiling solana-perf v1.18.26 [INFO] [stderr] Compiling async-io v1.13.0 [INFO] [stderr] Compiling dlopen2_derive v0.3.0 [INFO] [stderr] Checking os_str_bytes v6.6.1 [INFO] [stderr] Checking number_prefix v0.4.0 [INFO] [stderr] Checking base64ct v1.8.1 [INFO] [stderr] Checking dlopen2 v0.5.0 [INFO] [stderr] Checking clap_lex v0.2.4 [INFO] [stderr] Checking spki v0.5.4 [INFO] [stderr] Checking der-parser v8.2.0 [INFO] [stderr] Checking solana-rayon-threadlimit v1.18.26 [INFO] [stderr] Checking solana_rbpf v0.8.3 [INFO] [stderr] Checking webpki-roots v0.24.0 [INFO] [stderr] Checking indicatif v0.17.11 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Checking tempfile v3.23.0 [INFO] [stderr] Checking polling v3.11.0 [INFO] [stderr] Checking quinn-udp v0.4.1 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking socket2 v0.4.10 [INFO] [stderr] Checking caps v0.5.6 [INFO] [stderr] Compiling bytes v1.11.0 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Checking textwrap v0.16.2 [INFO] [stderr] Checking shell-words v1.1.1 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Checking dialoguer v0.10.4 [INFO] [stderr] Checking clap v3.2.25 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking x509-parser v0.14.0 [INFO] [stderr] Checking async-io v2.6.0 [INFO] [stderr] Checking pkcs8 v0.8.0 [INFO] [stderr] Checking tokio-rustls v0.24.1 [INFO] [stderr] Checking tungstenite v0.20.1 [INFO] [stderr] Compiling bytestring v1.5.0 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Checking actix-rt v2.11.0 [INFO] [stderr] Compiling num_enum_derive v0.5.11 [INFO] [stderr] Checking rtoolbox v0.0.3 [INFO] [stderr] Compiling async-fs v1.6.0 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Checking histogram v0.6.9 [INFO] [stderr] Compiling regex-lite v0.1.8 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking tokio-tungstenite v0.20.1 [INFO] [stderr] Checking rpassword v7.4.0 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking async-signal v0.2.13 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking rcgen v0.10.0 [INFO] [stderr] Checking ark-poly v0.4.2 [INFO] [stderr] Checking quinn-proto v0.10.6 [INFO] [stderr] Compiling actix-router v0.5.3 [INFO] [stderr] Checking actix-codec v0.5.2 [INFO] [stderr] Checking tokio-stream v0.1.17 [INFO] [stderr] Checking event-listener v3.1.0 [INFO] [stderr] Checking hyper v0.14.32 [INFO] [stderr] Compiling v_htmlescape v0.15.8 [INFO] [stderr] Checking num_enum v0.5.11 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Compiling delay_timer v0.11.6 [INFO] [stderr] Checking cookie v0.16.2 [INFO] [stderr] Checking async-net v1.8.0 [INFO] [stderr] Checking actix-server v2.6.0 [INFO] [stderr] Checking ark-ec v0.4.2 [INFO] [stderr] Checking async-executor v1.13.3 [INFO] [stderr] Checking async-mutex v1.4.1 [INFO] [stderr] Compiling actix-web-codegen v4.3.0 [INFO] [stderr] Compiling actix-macros v0.2.4 [INFO] [stderr] Checking cron_clock v0.8.0 [INFO] [stderr] Compiling concat-idents v1.1.5 [INFO] [stderr] Checking rs-snowflake v0.6.0 [INFO] [stderr] Checking http-range v0.1.5 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Checking derive_more v2.1.1 [INFO] [stderr] Checking async-process v1.8.1 [INFO] [stderr] Checking smol v1.3.0 [INFO] [stderr] Checking hyper-rustls v0.24.2 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Compiling zstd-safe v5.0.2+zstd.1.5.2 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Checking quinn v0.10.2 [INFO] [stderr] Checking ark-bn254 v0.4.0 [INFO] [stderr] Checking zstd v0.13.3 [INFO] [stderr] Checking zstd v0.11.2+zstd.1.5.2 [INFO] [stderr] Checking actix-http v3.11.2 [INFO] [stderr] Checking light-poseidon v0.2.0 [INFO] [stderr] Checking actix-web v4.12.1 [INFO] [stderr] Checking spl-program-error v0.3.0 [INFO] [stderr] Checking spl-discriminator v0.1.0 [INFO] [stderr] Checking spl-token v4.0.0 [INFO] [stderr] Checking spl-memo v4.0.0 [INFO] [stderr] Checking spl-memo v3.0.1 [INFO] [stderr] Checking spl-token v3.5.0 [INFO] [stderr] Checking actix-files v0.6.9 [INFO] [stderr] Checking solana-zk-token-sdk v1.18.26 [INFO] [stderr] Checking solana-metrics v1.18.26 [INFO] [stderr] Checking solana-measure v1.18.26 [INFO] [stderr] Checking solana-remote-wallet v1.18.26 [INFO] [stderr] Checking solana-clap-utils v1.18.26 [INFO] [stderr] Checking solana-net-utils v1.18.26 [INFO] [stderr] Checking solana-connection-cache v1.18.26 [INFO] [stderr] Checking solana-config-program v1.18.26 [INFO] [stderr] Checking spl-pod v0.1.0 [INFO] [stderr] Checking spl-token-2022 v0.6.1 [INFO] [stderr] Checking spl-type-length-value v0.3.0 [INFO] [stderr] Checking spl-token-group-interface v0.1.0 [INFO] [stderr] Checking spl-tlv-account-resolution v0.5.1 [INFO] [stderr] Checking spl-token-metadata-interface v0.2.0 [INFO] [stderr] Checking spl-transfer-hook-interface v0.4.1 [INFO] [stderr] Checking solana-streamer v1.18.26 [INFO] [stderr] Checking spl-token-2022 v1.0.0 [INFO] [stderr] Checking spl-associated-token-account v1.1.3 [INFO] [stderr] Checking solana-udp-client v1.18.26 [INFO] [stderr] Checking spl-associated-token-account v2.3.0 [INFO] [stderr] Checking solana-account-decoder v1.18.26 [INFO] [stderr] Checking solana-transaction-status v1.18.26 [INFO] [stderr] Checking solana-rpc-client-api v1.18.26 [INFO] [stderr] Checking solana-rpc-client v1.18.26 [INFO] [stderr] Checking solana-pubsub-client v1.18.26 [INFO] [stderr] Checking solana-quic-client v1.18.26 [INFO] [stderr] Checking solana-rpc-client-nonce-utils v1.18.26 [INFO] [stderr] Checking solana-thin-client v1.18.26 [INFO] [stderr] Checking solana-tpu-client v1.18.26 [INFO] [stderr] Checking solana-client v1.18.26 [INFO] [stderr] Checking jup-dca v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | use bs58; [INFO] [stdout] | ^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | use dotenv; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | use reqwest; [INFO] [stdout] | ^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | use bs58; [INFO] [stdout] | ^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | use dotenv; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | use reqwest; [INFO] [stdout] | ^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `amount_in` is never read [INFO] [stdout] --> src/main.rs:537:5 [INFO] [stdout] | [INFO] [stdout] 534 | struct SwapResult { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 537 | amount_in: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/main.rs:711:8 [INFO] [stdout] | [INFO] [stdout] 710 | impl PriceHistory { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 711 | fn new(period: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_rsi_oversold_bounce` is never used [INFO] [stdout] --> src/main.rs:924:4 [INFO] [stdout] | [INFO] [stdout] 924 | fn detect_rsi_oversold_bounce(rsi_history: &[(f64, f64, DateTime)]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_bullish_divergence` is never used [INFO] [stdout] --> src/main.rs:940:4 [INFO] [stdout] | [INFO] [stdout] 940 | fn detect_bullish_divergence(price_rsi_history: &[(f64, f64, DateTime)]) -> Option<(bool, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_bearish_divergence` is never used [INFO] [stdout] --> src/main.rs:995:4 [INFO] [stdout] | [INFO] [stdout] 995 | fn detect_bearish_divergence(price_rsi_history: &[(f64, f64, DateTime)]) -> Option<(bool, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `amount_in` is never read [INFO] [stdout] --> src/main.rs:537:5 [INFO] [stdout] | [INFO] [stdout] 534 | struct SwapResult { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 537 | amount_in: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/main.rs:711:8 [INFO] [stdout] | [INFO] [stdout] 710 | impl PriceHistory { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 711 | fn new(period: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_rsi_oversold_bounce` is never used [INFO] [stdout] --> src/main.rs:924:4 [INFO] [stdout] | [INFO] [stdout] 924 | fn detect_rsi_oversold_bounce(rsi_history: &[(f64, f64, DateTime)]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_bullish_divergence` is never used [INFO] [stdout] --> src/main.rs:940:4 [INFO] [stdout] | [INFO] [stdout] 940 | fn detect_bullish_divergence(price_rsi_history: &[(f64, f64, DateTime)]) -> Option<(bool, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_bearish_divergence` is never used [INFO] [stdout] --> src/main.rs:995:4 [INFO] [stdout] | [INFO] [stdout] 995 | fn detect_bearish_divergence(price_rsi_history: &[(f64, f64, DateTime)]) -> Option<(bool, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:162:31 [INFO] [stdout] | [INFO] [stdout] 162 | let kp_buf = keypair_buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `keypair_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `f64` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:166:33 [INFO] [stdout] | [INFO] [stdout] 166 | let ui_amount = job.amount.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `job.amount` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | i = i + 1; [INFO] [stdout] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:252:26 [INFO] [stdout] | [INFO] [stdout] 252 | let kp_buf = keypair_buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `keypair_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:259:36 [INFO] [stdout] | [INFO] [stdout] 259 | let kp_buf_inner = kp_buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `kp_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | i = i + 1; [INFO] [stdout] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:346:26 [INFO] [stdout] | [INFO] [stdout] 346 | let kp_buf = keypair_buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `keypair_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:353:36 [INFO] [stdout] | [INFO] [stdout] 353 | let kp_buf_inner = kp_buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `kp_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:397:13 [INFO] [stdout] | [INFO] [stdout] 397 | i = i + 1; [INFO] [stdout] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:403:31 [INFO] [stdout] | [INFO] [stdout] 403 | let keypair_balance_buf = keypair_buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `keypair_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:417:31 [INFO] [stdout] | [INFO] [stdout] 417 | let keypair_delayed_buf = keypair_buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `keypair_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:162:31 [INFO] [stdout] | [INFO] [stdout] 162 | let kp_buf = keypair_buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `keypair_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `f64` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:166:33 [INFO] [stdout] | [INFO] [stdout] 166 | let ui_amount = job.amount.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `job.amount` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | i = i + 1; [INFO] [stdout] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `price_rsi_history` [INFO] [stdout] --> src/main.rs:958:14 [INFO] [stdout] | [INFO] [stdout] 958 | for i in start_index..price_rsi_history.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 958 - for i in start_index..price_rsi_history.len() { [INFO] [stdout] 958 + for (i, ) in price_rsi_history.iter().enumerate().skip(start_index) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `price_rsi_history` [INFO] [stdout] --> src/main.rs:972:14 [INFO] [stdout] | [INFO] [stdout] 972 | for i in (rsi_min_index + 1)..price_rsi_history.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 972 - for i in (rsi_min_index + 1)..price_rsi_history.len() { [INFO] [stdout] 972 + for in price_rsi_history.iter().skip((rsi_min_index + 1)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:252:26 [INFO] [stdout] | [INFO] [stdout] 252 | let kp_buf = keypair_buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `keypair_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `price_rsi_history` [INFO] [stdout] --> src/main.rs:1013:14 [INFO] [stdout] | [INFO] [stdout] 1013 | for i in start_index..price_rsi_history.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1013 - for i in start_index..price_rsi_history.len() { [INFO] [stdout] 1013 + for (i, ) in price_rsi_history.iter().enumerate().skip(start_index) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:259:36 [INFO] [stdout] | [INFO] [stdout] 259 | let kp_buf_inner = kp_buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `kp_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `price_rsi_history` [INFO] [stdout] --> src/main.rs:1027:14 [INFO] [stdout] | [INFO] [stdout] 1027 | for i in (rsi_max_index + 1)..price_rsi_history.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1027 - for i in (rsi_max_index + 1)..price_rsi_history.len() { [INFO] [stdout] 1027 + for in price_rsi_history.iter().skip((rsi_max_index + 1)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | i = i + 1; [INFO] [stdout] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:1061:5 [INFO] [stdout] | [INFO] [stdout] 1061 | / match token_acc { [INFO] [stdout] 1062 | | // check error type [INFO] [stdout] 1063 | | Err(_) => { [INFO] [stdout] 1064 | | let create_ata_ix = instruction::create_associated_token_account( [INFO] [stdout] ... | [INFO] [stdout] 1094 | | _ => {} [INFO] [stdout] 1095 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: you might want to preserve the comments from inside the `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1061 ~ if let Err(_) = token_acc { [INFO] [stdout] 1062 + let create_ata_ix = instruction::create_associated_token_account( [INFO] [stdout] 1063 + &keypair.pubkey(), [INFO] [stdout] 1064 + &keypair.pubkey(), [INFO] [stdout] 1065 + &mint, [INFO] [stdout] 1066 + &spl_token::id() [INFO] [stdout] 1067 + ); [INFO] [stdout] 1068 + [INFO] [stdout] 1069 + let blockhash = rpc_client.get_latest_blockhash().await?; [INFO] [stdout] 1070 + let transaction = Transaction::new_signed_with_payer( [INFO] [stdout] 1071 + &[create_ata_ix], [INFO] [stdout] 1072 + Some(&keypair.pubkey()), [INFO] [stdout] 1073 + &[keypair], [INFO] [stdout] 1074 + blockhash, [INFO] [stdout] 1075 + ); [INFO] [stdout] 1076 + println!( [INFO] [stdout] 1077 + "Sending transaction: {}", [INFO] [stdout] 1078 + transaction.signatures[0] [INFO] [stdout] 1079 + ); [INFO] [stdout] 1080 + let signature = rpc_client [INFO] [stdout] 1081 + .send_and_confirm_transaction_with_spinner(&transaction) [INFO] [stdout] 1082 + .await?; [INFO] [stdout] 1083 + println!( [INFO] [stdout] 1084 + "TX signature: {}", [INFO] [stdout] 1085 + signature [INFO] [stdout] 1086 + ); [INFO] [stdout] 1087 + let _ = rpc_client.get_token_account( [INFO] [stdout] 1088 + &token_address [INFO] [stdout] 1089 + ) [INFO] [stdout] 1090 + .await?; [INFO] [stdout] 1091 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:346:26 [INFO] [stdout] | [INFO] [stdout] 346 | let kp_buf = keypair_buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `keypair_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:353:36 [INFO] [stdout] | [INFO] [stdout] 353 | let kp_buf_inner = kp_buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `kp_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:397:13 [INFO] [stdout] | [INFO] [stdout] 397 | i = i + 1; [INFO] [stdout] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:403:31 [INFO] [stdout] | [INFO] [stdout] 403 | let keypair_balance_buf = keypair_buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `keypair_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 64]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:417:31 [INFO] [stdout] | [INFO] [stdout] 417 | let keypair_delayed_buf = keypair_buf.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `keypair_buf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `format!` in `println!` args [INFO] [stdout] --> src/main.rs:1254:5 [INFO] [stdout] | [INFO] [stdout] 1254 | / println!("Current price {}: {} {}", [INFO] [stdout] 1255 | | format!("{}/{}", job.base_mint, job.quote_mint), [INFO] [stdout] 1256 | | current_price, [INFO] [stdout] 1257 | | job.quote_mint [INFO] [stdout] 1258 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `println!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] = note: `#[warn(clippy::format_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `format!` in `println!` args [INFO] [stdout] --> src/main.rs:1594:5 [INFO] [stdout] | [INFO] [stdout] 1594 | / println!("Current price {}: {} {}", [INFO] [stdout] 1595 | | format!("{}/{}", job.base_mint, job.quote_mint), [INFO] [stdout] 1596 | | current_price, [INFO] [stdout] 1597 | | job.quote_mint [INFO] [stdout] 1598 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `println!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/main.rs:1940:1 [INFO] [stdout] | [INFO] [stdout] 1940 | / async fn swap_with_record( [INFO] [stdout] 1941 | | input_mint: Pubkey, [INFO] [stdout] 1942 | | output_mint: Pubkey, [INFO] [stdout] 1943 | | ui_amount: f64, [INFO] [stdout] ... | [INFO] [stdout] 1952 | | rsi14: Option, // Giá trị RSI14 tại thời điểm giao dịch [INFO] [stdout] 1953 | | ) -> Result { [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/main.rs:1955:5 [INFO] [stdout] | [INFO] [stdout] 1955 | let transaction_signature; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `transaction_signature` here and remove the assignments from the `match` arms [INFO] [stdout] | [INFO] [stdout] 1955 ~ [INFO] [stdout] 1956 | let fee; [INFO] [stdout] ... [INFO] [stdout] 1967 | // Log to CSV [INFO] [stdout] 1968 ~ let transaction_signature = match &result { [INFO] [stdout] 1969 | Ok(swap_result) => { [INFO] [stdout] ... [INFO] [stdout] 1972 | } [INFO] [stdout] 1973 ~ swap_result.txid.clone() [INFO] [stdout] 1974 | } [INFO] [stdout] ... [INFO] [stdout] 1989 | } [INFO] [stdout] 1990 ~ "failed".to_string() [INFO] [stdout] 1991 | } [INFO] [stdout] 1992 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/main.rs:1956:5 [INFO] [stdout] | [INFO] [stdout] 1956 | let fee; [INFO] [stdout] | ^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 1995 | fee = 0.000005; // ~0.000005 SOL per transaction [INFO] [stdout] | ^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `fee` here [INFO] [stdout] | [INFO] [stdout] 1956 ~ [INFO] [stdout] 1957 | [INFO] [stdout] ... [INFO] [stdout] 1994 | // Tính phí (ước tính, thực tế cần lấy từ transaction) [INFO] [stdout] 1995 ~ let fee = 0.000005; // ~0.000005 SOL per transaction [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `price_rsi_history` [INFO] [stdout] --> src/main.rs:958:14 [INFO] [stdout] | [INFO] [stdout] 958 | for i in start_index..price_rsi_history.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 958 - for i in start_index..price_rsi_history.len() { [INFO] [stdout] 958 + for (i, ) in price_rsi_history.iter().enumerate().skip(start_index) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `price_rsi_history` [INFO] [stdout] --> src/main.rs:972:14 [INFO] [stdout] | [INFO] [stdout] 972 | for i in (rsi_min_index + 1)..price_rsi_history.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 972 - for i in (rsi_min_index + 1)..price_rsi_history.len() { [INFO] [stdout] 972 + for in price_rsi_history.iter().skip((rsi_min_index + 1)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `price_rsi_history` [INFO] [stdout] --> src/main.rs:1013:14 [INFO] [stdout] | [INFO] [stdout] 1013 | for i in start_index..price_rsi_history.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1013 - for i in start_index..price_rsi_history.len() { [INFO] [stdout] 1013 + for (i, ) in price_rsi_history.iter().enumerate().skip(start_index) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `price_rsi_history` [INFO] [stdout] --> src/main.rs:1027:14 [INFO] [stdout] | [INFO] [stdout] 1027 | for i in (rsi_max_index + 1)..price_rsi_history.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 1027 - for i in (rsi_max_index + 1)..price_rsi_history.len() { [INFO] [stdout] 1027 + for in price_rsi_history.iter().skip((rsi_max_index + 1)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:2145:22 [INFO] [stdout] | [INFO] [stdout] 2145 | .get(&format!("{}/health", JUPITER_SERVICE_URL)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}/health", JUPITER_SERVICE_URL)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:1061:5 [INFO] [stdout] | [INFO] [stdout] 1061 | / match token_acc { [INFO] [stdout] 1062 | | // check error type [INFO] [stdout] 1063 | | Err(_) => { [INFO] [stdout] 1064 | | let create_ata_ix = instruction::create_associated_token_account( [INFO] [stdout] ... | [INFO] [stdout] 1094 | | _ => {} [INFO] [stdout] 1095 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: you might want to preserve the comments from inside the `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1061 ~ if let Err(_) = token_acc { [INFO] [stdout] 1062 + let create_ata_ix = instruction::create_associated_token_account( [INFO] [stdout] 1063 + &keypair.pubkey(), [INFO] [stdout] 1064 + &keypair.pubkey(), [INFO] [stdout] 1065 + &mint, [INFO] [stdout] 1066 + &spl_token::id() [INFO] [stdout] 1067 + ); [INFO] [stdout] 1068 + [INFO] [stdout] 1069 + let blockhash = rpc_client.get_latest_blockhash().await?; [INFO] [stdout] 1070 + let transaction = Transaction::new_signed_with_payer( [INFO] [stdout] 1071 + &[create_ata_ix], [INFO] [stdout] 1072 + Some(&keypair.pubkey()), [INFO] [stdout] 1073 + &[keypair], [INFO] [stdout] 1074 + blockhash, [INFO] [stdout] 1075 + ); [INFO] [stdout] 1076 + println!( [INFO] [stdout] 1077 + "Sending transaction: {}", [INFO] [stdout] 1078 + transaction.signatures[0] [INFO] [stdout] 1079 + ); [INFO] [stdout] 1080 + let signature = rpc_client [INFO] [stdout] 1081 + .send_and_confirm_transaction_with_spinner(&transaction) [INFO] [stdout] 1082 + .await?; [INFO] [stdout] 1083 + println!( [INFO] [stdout] 1084 + "TX signature: {}", [INFO] [stdout] 1085 + signature [INFO] [stdout] 1086 + ); [INFO] [stdout] 1087 + let _ = rpc_client.get_token_account( [INFO] [stdout] 1088 + &token_address [INFO] [stdout] 1089 + ) [INFO] [stdout] 1090 + .await?; [INFO] [stdout] 1091 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:2217:22 [INFO] [stdout] | [INFO] [stdout] 2217 | match client.get(&format!("{}/health", JUPITER_SERVICE_URL)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}/health", JUPITER_SERVICE_URL)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:2235:15 [INFO] [stdout] | [INFO] [stdout] 2235 | .post(&format!("{}/quote", JUPITER_SERVICE_URL)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}/quote", JUPITER_SERVICE_URL)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:2269:15 [INFO] [stdout] | [INFO] [stdout] 2269 | .post(&format!("{}/swap", JUPITER_SERVICE_URL)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}/swap", JUPITER_SERVICE_URL)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `format!` in `println!` args [INFO] [stdout] --> src/main.rs:1254:5 [INFO] [stdout] | [INFO] [stdout] 1254 | / println!("Current price {}: {} {}", [INFO] [stdout] 1255 | | format!("{}/{}", job.base_mint, job.quote_mint), [INFO] [stdout] 1256 | | current_price, [INFO] [stdout] 1257 | | job.quote_mint [INFO] [stdout] 1258 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `println!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] = note: `#[warn(clippy::format_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/main.rs:2345:13 [INFO] [stdout] | [INFO] [stdout] 2344 | let json_str = serde_json::to_string(&result).unwrap_or_else(|_| "Unknown error".to_string()); [INFO] [stdout] | ---------------------------------------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 2345 | json_str [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 2344 ~ [INFO] [stdout] 2345 ~ serde_json::to_string(&result).unwrap_or_else(|_| "Unknown error".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `format!` in `println!` args [INFO] [stdout] --> src/main.rs:1594:5 [INFO] [stdout] | [INFO] [stdout] 1594 | / println!("Current price {}: {} {}", [INFO] [stdout] 1595 | | format!("{}/{}", job.base_mint, job.quote_mint), [INFO] [stdout] 1596 | | current_price, [INFO] [stdout] 1597 | | job.quote_mint [INFO] [stdout] 1598 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `println!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/main.rs:1940:1 [INFO] [stdout] | [INFO] [stdout] 1940 | / async fn swap_with_record( [INFO] [stdout] 1941 | | input_mint: Pubkey, [INFO] [stdout] 1942 | | output_mint: Pubkey, [INFO] [stdout] 1943 | | ui_amount: f64, [INFO] [stdout] ... | [INFO] [stdout] 1952 | | rsi14: Option, // Giá trị RSI14 tại thời điểm giao dịch [INFO] [stdout] 1953 | | ) -> Result { [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/main.rs:1955:5 [INFO] [stdout] | [INFO] [stdout] 1955 | let transaction_signature; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `transaction_signature` here and remove the assignments from the `match` arms [INFO] [stdout] | [INFO] [stdout] 1955 ~ [INFO] [stdout] 1956 | let fee; [INFO] [stdout] ... [INFO] [stdout] 1967 | // Log to CSV [INFO] [stdout] 1968 ~ let transaction_signature = match &result { [INFO] [stdout] 1969 | Ok(swap_result) => { [INFO] [stdout] ... [INFO] [stdout] 1972 | } [INFO] [stdout] 1973 ~ swap_result.txid.clone() [INFO] [stdout] 1974 | } [INFO] [stdout] ... [INFO] [stdout] 1989 | } [INFO] [stdout] 1990 ~ "failed".to_string() [INFO] [stdout] 1991 | } [INFO] [stdout] 1992 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/main.rs:1956:5 [INFO] [stdout] | [INFO] [stdout] 1956 | let fee; [INFO] [stdout] | ^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 1995 | fee = 0.000005; // ~0.000005 SOL per transaction [INFO] [stdout] | ^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `fee` here [INFO] [stdout] | [INFO] [stdout] 1956 ~ [INFO] [stdout] 1957 | [INFO] [stdout] ... [INFO] [stdout] 1994 | // Tính phí (ước tính, thực tế cần lấy từ transaction) [INFO] [stdout] 1995 ~ let fee = 0.000005; // ~0.000005 SOL per transaction [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:2145:22 [INFO] [stdout] | [INFO] [stdout] 2145 | .get(&format!("{}/health", JUPITER_SERVICE_URL)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}/health", JUPITER_SERVICE_URL)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:2217:22 [INFO] [stdout] | [INFO] [stdout] 2217 | match client.get(&format!("{}/health", JUPITER_SERVICE_URL)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}/health", JUPITER_SERVICE_URL)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:2235:15 [INFO] [stdout] | [INFO] [stdout] 2235 | .post(&format!("{}/quote", JUPITER_SERVICE_URL)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}/quote", JUPITER_SERVICE_URL)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:2269:15 [INFO] [stdout] | [INFO] [stdout] 2269 | .post(&format!("{}/swap", JUPITER_SERVICE_URL)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}/swap", JUPITER_SERVICE_URL)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/main.rs:2345:13 [INFO] [stdout] | [INFO] [stdout] 2344 | let json_str = serde_json::to_string(&result).unwrap_or_else(|_| "Unknown error".to_string()); [INFO] [stdout] | ---------------------------------------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 2345 | json_str [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 2344 ~ [INFO] [stdout] 2345 ~ serde_json::to_string(&result).unwrap_or_else(|_| "Unknown error".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 04s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: solana-client v1.18.26 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "5d46a947656be97170490eab698ebb94e4e8fcf753dd0459a7b48922d187f340", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5d46a947656be97170490eab698ebb94e4e8fcf753dd0459a7b48922d187f340", kill_on_drop: false }` [INFO] [stdout] 5d46a947656be97170490eab698ebb94e4e8fcf753dd0459a7b48922d187f340