[INFO] cloning repository https://github.com/tbrunain/novaxcli [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tbrunain/novaxcli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftbrunain%2Fnovaxcli", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftbrunain%2Fnovaxcli'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4d1e33b54af5ec2c875c1ed8132e5a2cf9dc0e07 [INFO] linting tbrunain/novaxcli against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftbrunain%2Fnovaxcli" "/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/tbrunain/novaxcli [INFO] finished tweaking git repo https://github.com/tbrunain/novaxcli [INFO] tweaked toml for git repo https://github.com/tbrunain/novaxcli written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tbrunain/novaxcli 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/tbrunain/novaxcli 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 tokio-macros v1.3.0 [INFO] [stderr] Downloaded quote v1.0.9 [INFO] [stderr] Downloaded unicode-bidi v0.3.6 [INFO] [stderr] Downloaded thiserror-impl v1.0.29 [INFO] [stderr] Downloaded byte-slice-cast v1.0.0 [INFO] [stderr] Downloaded impl-codec v0.5.1 [INFO] [stderr] Downloaded futures-timer v3.0.2 [INFO] [stderr] Downloaded funty v1.1.0 [INFO] [stderr] Downloaded ipnet v2.3.1 [INFO] [stderr] Downloaded parity-scale-codec v2.2.0 [INFO] [stderr] Downloaded indexmap v1.7.0 [INFO] [stderr] Downloaded string v0.2.1 [INFO] [stderr] Downloaded http v0.2.4 [INFO] [stderr] Downloaded hex-literal v0.3.3 [INFO] [stderr] Downloaded fixed-hash v0.7.0 [INFO] [stderr] Downloaded h2 v0.3.4 [INFO] [stderr] Downloaded cookie v0.12.0 [INFO] [stderr] Downloaded redox_syscall v0.1.57 [INFO] [stderr] Downloaded hyper-tls v0.3.2 [INFO] [stderr] Downloaded addr2line v0.16.0 [INFO] [stderr] Downloaded crc32fast v1.2.1 [INFO] [stderr] Downloaded flate2 v1.0.21 [INFO] [stderr] Downloaded backtrace v0.3.61 [INFO] [stderr] Downloaded http v0.1.21 [INFO] [stderr] Downloaded h2 v0.1.26 [INFO] [stderr] Downloaded hyper v0.12.36 [INFO] [stderr] Downloaded futures v0.1.31 [INFO] [stderr] Downloaded bitvec v0.20.4 [INFO] [stderr] Downloaded reqwest v0.9.24 [INFO] [stderr] Downloaded mio v0.6.23 [INFO] [stderr] Downloaded object v0.26.2 [INFO] [stderr] Downloaded idna v0.1.5 [INFO] [stderr] Downloaded url v1.7.2 [INFO] [stderr] Downloaded tokio v1.11.0 [INFO] [stderr] Downloaded pest v2.1.3 [INFO] [stderr] Downloaded tokio v0.1.22 [INFO] [stderr] Downloaded libc v0.2.101 [INFO] [stderr] Downloaded derive_more v0.99.16 [INFO] [stderr] Downloaded toml v0.5.8 [INFO] [stderr] Downloaded secp256k1-sys v0.4.1 [INFO] [stderr] Downloaded tokio-sync v0.1.8 [INFO] [stderr] Downloaded tokio-io v0.1.13 [INFO] [stderr] Downloaded tokio-threadpool v0.1.18 [INFO] [stderr] Downloaded web-sys v0.3.53 [INFO] [stderr] Downloaded uuid v0.7.4 [INFO] [stderr] Downloaded sha3 v0.9.1 [INFO] [stderr] Downloaded ucd-trie v0.1.3 [INFO] [stderr] Downloaded anyhow v1.0.43 [INFO] [stderr] Downloaded arrayvec v0.7.1 [INFO] [stderr] Downloaded failure v0.1.8 [INFO] [stderr] Downloaded cookie_store v0.7.0 [INFO] [stderr] Downloaded unicase v2.6.0 [INFO] [stderr] Downloaded mime_guess v2.0.3 [INFO] [stderr] Downloaded gimli v0.25.0 [INFO] [stderr] Downloaded parking_lot_core v0.6.2 [INFO] [stderr] Downloaded parking_lot v0.9.0 [INFO] [stderr] Downloaded bytes v0.4.12 [INFO] [stderr] Downloaded tokio-timer v0.2.13 [INFO] [stderr] Downloaded miow v0.2.2 [INFO] [stderr] Downloaded tokio-reactor v0.1.12 [INFO] [stderr] Downloaded winreg v0.6.2 [INFO] [stderr] Downloaded semver-parser v0.10.2 [INFO] [stderr] Downloaded semver v0.11.0 [INFO] [stderr] Downloaded keccak v0.1.0 [INFO] [stderr] Downloaded ethabi v14.1.0 [INFO] [stderr] Downloaded ethbloom v0.11.0 [INFO] [stderr] Downloaded syn v1.0.76 [INFO] [stderr] Downloaded synstructure v0.12.5 [INFO] [stderr] Downloaded publicsuffix v1.5.6 [INFO] [stderr] Downloaded futures-cpupool v0.1.8 [INFO] [stderr] Downloaded dtoa v0.4.8 [INFO] [stderr] Downloaded serde_urlencoded v0.5.5 [INFO] [stderr] Downloaded tokio-current-thread v0.1.7 [INFO] [stderr] Downloaded net2 v0.2.37 [INFO] [stderr] Downloaded smallvec v0.6.14 [INFO] [stderr] Downloaded iovec v0.1.4 [INFO] [stderr] Downloaded arrayvec v0.5.2 [INFO] [stderr] Downloaded hyper v0.14.12 [INFO] [stderr] Downloaded wasm-bindgen v0.2.76 [INFO] [stderr] Downloaded openssl v0.10.36 [INFO] [stderr] Downloaded bumpalo v3.7.0 [INFO] [stderr] Downloaded futures-util v0.3.17 [INFO] [stderr] Downloaded encoding_rs v0.8.28 [INFO] [stderr] Downloaded ntapi v0.3.6 [INFO] [stderr] Downloaded reqwest v0.11.4 [INFO] [stderr] Downloaded failure_derive v0.1.8 [INFO] [stderr] Downloaded try_from v0.3.2 [INFO] [stderr] Downloaded http-body v0.1.0 [INFO] [stderr] Downloaded tokio-buf v0.1.1 [INFO] [stderr] Downloaded tokio-tcp v0.1.4 [INFO] [stderr] Downloaded serde_json v1.0.67 [INFO] [stderr] Downloaded js-sys v0.3.53 [INFO] [stderr] Downloaded want v0.2.0 [INFO] [stderr] Downloaded tokio-executor v0.1.10 [INFO] [stderr] Downloaded rustc_version v0.3.3 [INFO] [stderr] Downloaded impl-trait-for-tuples v0.2.1 [INFO] [stderr] Downloaded parity-scale-codec-derive v2.2.0 [INFO] [stderr] Downloaded impl-serde v0.3.1 [INFO] [stderr] Downloaded tracing v0.1.26 [INFO] [stderr] Downloaded serde_derive v1.0.130 [INFO] [stderr] Downloaded serde v1.0.130 [INFO] [stderr] Downloaded tokio-util v0.6.8 [INFO] [stderr] Downloaded cc v1.0.70 [INFO] [stderr] Downloaded mio v0.7.13 [INFO] [stderr] Downloaded tracing-core v0.1.19 [INFO] [stderr] Downloaded secp256k1 v0.20.3 [INFO] [stderr] Downloaded ryu v1.0.5 [INFO] [stderr] Downloaded openssl-sys v0.9.66 [INFO] [stderr] Downloaded headers v0.3.4 [INFO] [stderr] Downloaded pin-project-internal v1.0.8 [INFO] [stderr] Downloaded pin-project v1.0.8 [INFO] [stderr] Downloaded socket2 v0.4.1 [INFO] [stderr] Downloaded futures v0.3.17 [INFO] [stderr] Downloaded typenum v1.14.0 [INFO] [stderr] Downloaded security-framework v2.4.2 [INFO] [stderr] Downloaded lock_api v0.4.5 [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.76 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.76 [INFO] [stderr] Downloaded rustc-hex v2.1.0 [INFO] [stderr] Downloaded httparse v1.5.1 [INFO] [stderr] Downloaded version_check v0.9.3 [INFO] [stderr] Downloaded generic-array v0.14.4 [INFO] [stderr] Downloaded soketto v0.5.0 [INFO] [stderr] Downloaded core-foundation v0.9.1 [INFO] [stderr] Downloaded security-framework-sys v2.4.2 [INFO] [stderr] Downloaded tempfile v3.2.0 [INFO] [stderr] Downloaded native-tls v0.2.8 [INFO] [stderr] Downloaded thiserror v1.0.29 [INFO] [stderr] Downloaded miow v0.3.7 [INFO] [stderr] Downloaded once_cell v1.8.0 [INFO] [stderr] Downloaded smallvec v1.6.1 [INFO] [stderr] Downloaded proc-macro2 v1.0.29 [INFO] [stderr] Downloaded radium v0.6.2 [INFO] [stderr] Downloaded wyz v0.2.0 [INFO] [stderr] Downloaded impl-rlp v0.3.0 [INFO] [stderr] Downloaded primitive-types v0.9.1 [INFO] [stderr] Downloaded uint v0.9.1 [INFO] [stderr] Downloaded ethereum-types v0.11.0 [INFO] [stderr] Downloaded jsonrpc-core v18.0.0 [INFO] [stderr] Downloaded http-body v0.4.3 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.26 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.76 [INFO] [stderr] Downloaded winreg v0.7.0 [INFO] [stderr] Downloaded rlp v0.5.1 [INFO] [stderr] Downloaded futures-channel v0.3.17 [INFO] [stderr] Downloaded futures-macro v0.3.17 [INFO] [stderr] Downloaded proc-macro-nested v0.1.7 [INFO] [stderr] Downloaded slab v0.4.4 [INFO] [stderr] Downloaded block-padding v0.2.1 [INFO] [stderr] Downloaded sha-1 v0.9.8 [INFO] [stderr] Downloaded futures-core v0.3.17 [INFO] [stderr] Downloaded futures-io v0.3.17 [INFO] [stderr] Downloaded futures-executor v0.3.17 [INFO] [stderr] Downloaded schannel v0.1.19 [INFO] [stderr] Downloaded core-foundation-sys v0.8.2 [INFO] [stderr] Downloaded num_cpus v1.13.0 [INFO] [stderr] Downloaded redox_syscall v0.2.10 [INFO] [stderr] Downloaded httpdate v1.0.1 [INFO] [stderr] Downloaded serde_urlencoded v0.7.0 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.76 [INFO] [stderr] Downloaded futures-task v0.3.17 [INFO] [stderr] Downloaded cpufeatures v0.2.1 [INFO] [stderr] Downloaded futures-sink v0.3.17 [INFO] [stderr] Downloaded proc-macro-crate v1.0.0 [INFO] [stderr] Downloaded headers-core v0.2.0 [INFO] [stderr] Downloaded openssl-probe v0.1.4 [INFO] [stderr] Downloaded pkg-config v0.3.19 [INFO] [stderr] Downloaded ppv-lite86 v0.2.10 [INFO] [stderr] Downloaded instant v0.1.10 [INFO] [stderr] Downloaded pin-project-lite v0.2.7 [INFO] [stderr] Downloaded unicode-normalization v0.1.19 [INFO] [stderr] Downloaded web3 v0.17.0 [INFO] [stderr] Downloaded tinyvec v1.3.1 [INFO] [stderr] Downloaded web3-async-native-tls v0.4.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] a417dc3d16f7e445092705723b4796f53ecf16c1e9ca14eacbc1d5601cb629d4 [INFO] running `Command { std: "docker" "start" "-a" "a417dc3d16f7e445092705723b4796f53ecf16c1e9ca14eacbc1d5601cb629d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a417dc3d16f7e445092705723b4796f53ecf16c1e9ca14eacbc1d5601cb629d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a417dc3d16f7e445092705723b4796f53ecf16c1e9ca14eacbc1d5601cb629d4", kill_on_drop: false }` [INFO] [stdout] a417dc3d16f7e445092705723b4796f53ecf16c1e9ca14eacbc1d5601cb629d4 [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] 9909e31edcd66167097ffa08a6342fc9a8fe3a17ed6dc45a4a1ddb62b639dcd9 [INFO] running `Command { std: "docker" "start" "-a" "9909e31edcd66167097ffa08a6342fc9a8fe3a17ed6dc45a4a1ddb62b639dcd9", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.101 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling proc-macro2 v1.0.29 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.76 [INFO] [stderr] Compiling serde_derive v1.0.130 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Compiling serde v1.0.130 [INFO] [stderr] Checking itoa v0.4.8 [INFO] [stderr] Compiling cc v1.0.70 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Checking slab v0.4.4 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Checking bytes v1.1.0 [INFO] [stderr] Checking futures v0.1.31 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking matches v0.1.9 [INFO] [stderr] Checking pin-project-lite v0.2.7 [INFO] [stderr] Checking tinyvec_macros v0.1.0 [INFO] [stderr] Checking either v1.6.1 [INFO] [stderr] Compiling futures-core v0.3.17 [INFO] [stderr] Checking tinyvec v1.3.1 [INFO] [stderr] Checking unicode-bidi v0.3.6 [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Checking once_cell v1.8.0 [INFO] [stderr] Compiling proc-macro-nested v0.1.7 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling futures-macro v0.3.17 [INFO] [stderr] Checking futures-sink v0.3.17 [INFO] [stderr] Compiling typenum v1.14.0 [INFO] [stderr] Compiling futures-task v0.3.17 [INFO] [stderr] Compiling pkg-config v0.3.19 [INFO] [stderr] Compiling futures-channel v0.3.17 [INFO] [stderr] Compiling indexmap v1.7.0 [INFO] [stderr] Compiling futures-util v0.3.17 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Checking futures-io v0.3.17 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Checking instant v0.1.10 [INFO] [stderr] Compiling radium v0.6.2 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Compiling httparse v1.5.1 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Checking smallvec v1.6.1 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Checking unicode-normalization v0.1.19 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Checking form_urlencoded v1.0.1 [INFO] [stderr] Checking smallvec v0.6.14 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling openssl-sys v0.9.66 [INFO] [stderr] Checking tokio-executor v0.1.10 [INFO] [stderr] Compiling tokio v1.11.0 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Checking lock_api v0.4.5 [INFO] [stderr] Checking try-lock v0.2.3 [INFO] [stderr] Checking rustc-hex v2.1.0 [INFO] [stderr] Compiling serde_json v1.0.67 [INFO] [stderr] Checking tokio-io v0.1.13 [INFO] [stderr] Checking net2 v0.2.37 [INFO] [stderr] Checking signal-hook-registry v1.4.0 [INFO] [stderr] Checking time v0.1.43 [INFO] [stderr] Checking mio v0.7.13 [INFO] [stderr] Checking http v0.2.4 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Checking wyz v0.2.0 [INFO] [stderr] Compiling openssl v0.10.36 [INFO] [stderr] Checking tap v1.0.1 [INFO] [stderr] Checking block-padding v0.2.1 [INFO] [stderr] Checking funty v1.1.0 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking rlp v0.5.1 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking tokio-sync v0.1.8 [INFO] [stderr] Compiling native-tls v0.2.8 [INFO] [stderr] Checking arrayvec v0.7.1 [INFO] [stderr] Checking byte-slice-cast v1.0.0 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Checking opaque-debug v0.3.0 [INFO] [stderr] Checking http v0.1.21 [INFO] [stderr] Checking bitvec v0.20.4 [INFO] [stderr] Checking crossbeam-queue v0.2.3 [INFO] [stderr] Compiling backtrace v0.3.61 [INFO] [stderr] Checking crossbeam-deque v0.7.4 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Checking impl-rlp v0.3.0 [INFO] [stderr] Checking tracing-core v0.1.19 [INFO] [stderr] Checking mime v0.3.16 [INFO] [stderr] Checking openssl-probe v0.1.4 [INFO] [stderr] Checking tokio-reactor v0.1.12 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling encoding_rs v0.8.28 [INFO] [stderr] Checking gimli v0.25.0 [INFO] [stderr] Checking percent-encoding v1.0.1 [INFO] [stderr] Checking tokio-threadpool v0.1.18 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking uint v0.9.1 [INFO] [stderr] Checking tracing v0.1.26 [INFO] [stderr] Checking tokio-tcp v0.1.4 [INFO] [stderr] Checking tokio-current-thread v0.1.7 [INFO] [stderr] Checking tokio-timer v0.2.13 [INFO] [stderr] Checking tokio-buf v0.1.1 [INFO] [stderr] Checking string v0.2.1 [INFO] [stderr] Compiling secp256k1-sys v0.4.1 [INFO] [stderr] Checking object v0.26.2 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling hyper v0.12.36 [INFO] [stderr] Compiling anyhow v1.0.43 [INFO] [stderr] Compiling crc32fast v1.2.1 [INFO] [stderr] Checking cpufeatures v0.2.1 [INFO] [stderr] Checking base64 v0.13.0 [INFO] [stderr] Checking rustc-demangle v0.1.21 [INFO] [stderr] Checking tokio v0.1.22 [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] Checking fixed-hash v0.7.0 [INFO] [stderr] Checking sha-1 v0.9.8 [INFO] [stderr] Checking http-body v0.4.3 [INFO] [stderr] Compiling mime_guess v2.0.3 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking want v0.2.0 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking socket2 v0.4.1 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking httpdate v1.0.1 [INFO] [stderr] Checking keccak v0.1.0 [INFO] [stderr] Checking tower-service v0.3.1 [INFO] [stderr] Checking cookie v0.12.0 [INFO] [stderr] Checking headers-core v0.2.0 [INFO] [stderr] Checking sha3 v0.9.1 [INFO] [stderr] Checking publicsuffix v1.5.6 [INFO] [stderr] Checking try_from v0.3.2 [INFO] [stderr] Checking ipnet v2.3.1 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Checking dtoa v0.4.8 [INFO] [stderr] Checking http-body v0.1.0 [INFO] [stderr] Checking h2 v0.1.26 [INFO] [stderr] Checking headers v0.3.4 [INFO] [stderr] Checking flate2 v1.0.21 [INFO] [stderr] Checking base64 v0.10.1 [INFO] [stderr] Checking futures-timer v3.0.2 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Compiling hex-literal v0.3.3 [INFO] [stderr] Checking secp256k1 v0.20.3 [INFO] [stderr] Checking uuid v0.7.4 [INFO] [stderr] Checking addr2line v0.16.0 [INFO] [stderr] Compiling synstructure v0.12.5 [INFO] [stderr] Compiling thiserror-impl v1.0.29 [INFO] [stderr] Compiling tokio-macros v1.3.0 [INFO] [stderr] Compiling impl-trait-for-tuples v0.2.1 [INFO] [stderr] Compiling pin-project-internal v1.0.8 [INFO] [stderr] Compiling derive_more v0.99.16 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Checking hyper-tls v0.3.2 [INFO] [stderr] Compiling thiserror v1.0.29 [INFO] [stderr] Checking pin-project v1.0.8 [INFO] [stderr] Checking futures-executor v0.3.17 [INFO] [stderr] Checking futures v0.3.17 [INFO] [stderr] Checking soketto v0.5.0 [INFO] [stderr] Checking tokio-util v0.6.8 [INFO] [stderr] Checking web3-async-native-tls v0.4.0 [INFO] [stderr] Checking impl-serde v0.3.1 [INFO] [stderr] Checking serde_urlencoded v0.7.0 [INFO] [stderr] Checking serde_urlencoded v0.5.5 [INFO] [stderr] Checking ethbloom v0.11.0 [INFO] [stderr] Checking h2 v0.3.4 [INFO] [stderr] Checking cookie_store v0.7.0 [INFO] [stderr] Checking jsonrpc-core v18.0.0 [INFO] [stderr] Compiling toml v0.5.8 [INFO] [stderr] Checking reqwest v0.9.24 [INFO] [stderr] Compiling proc-macro-crate v1.0.0 [INFO] [stderr] Compiling parity-scale-codec-derive v2.2.0 [INFO] [stderr] Checking hyper v0.14.12 [INFO] [stderr] Checking parity-scale-codec v2.2.0 [INFO] [stderr] Checking impl-codec v0.5.1 [INFO] [stderr] Checking primitive-types v0.9.1 [INFO] [stderr] Checking reqwest v0.11.4 [INFO] [stderr] Checking ethereum-types v0.11.0 [INFO] [stderr] Checking ethabi v14.1.0 [INFO] [stderr] Checking web3 v0.17.0 [INFO] [stderr] Checking NovaXCli v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/utils.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use web3::{Web3, Error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mul` [INFO] [stdout] --> src/main.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{Add, Mul}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Serialize` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use serde::Serialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlockNumber` [INFO] [stdout] --> src/main.rs:13:42 [INFO] [stdout] | [INFO] [stdout] 13 | use web3::types::{TransactionParameters, BlockNumber}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `types::FilterBuilder` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | types::FilterBuilder, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hex_literal::hex` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use hex_literal::hex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web3::types::CallRequest` [INFO] [stdout] --> src/main.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use web3::types::CallRequest; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/utils.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use web3::{Web3, Error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mul` [INFO] [stdout] --> src/main.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ops::{Add, Mul}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Serialize` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use serde::Serialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlockNumber` [INFO] [stdout] --> src/main.rs:13:42 [INFO] [stdout] | [INFO] [stdout] 13 | use web3::types::{TransactionParameters, BlockNumber}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `types::FilterBuilder` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | types::FilterBuilder, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hex_literal::hex` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use hex_literal::hex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web3::types::CallRequest` [INFO] [stdout] --> src/main.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use web3::types::CallRequest; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/utils.rs:57:61 [INFO] [stdout] | [INFO] [stdout] 57 | pub async fn get_gas_usage_estimation(wallet_address: H160, mut gas_price: U256, web3: &Web3, game_contract: &Contract src/utils.rs:57:61 [INFO] [stdout] | [INFO] [stdout] 57 | pub async fn get_gas_usage_estimation(wallet_address: H160, mut gas_price: U256, web3: &Web3, game_contract: &Contract src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | futures::StreamExt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::StreamExt` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | futures::StreamExt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | let mut gas_price = U256::from(args.get(3).unwrap().parse::()?); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | let mut gas_price = U256::from(args.get(3).unwrap().parse::()?); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/utils.rs:74:189 [INFO] [stdout] | [INFO] [stdout] 74 | ...,game_contract.address(), err); iteration = iteration + 1; thread::sleep(Duration::new(5,0)) }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `iteration += 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: returning the result of a `let` binding from a block [INFO] [stdout] --> src/utils.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 86 | let u64_nonce = nonce.as_u64(); [INFO] [stdout] | ------------------------------- unnecessary `let` binding [INFO] [stdout] 87 | u64_nonce [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] 86 ~ [INFO] [stdout] 87 ~ nonce.as_u64() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/utils.rs:90:189 [INFO] [stdout] | [INFO] [stdout] 90 | ...et>, crystal_contract: &Contract, upgrade_cost: &Vec) -> (U256, U256, U256, f64, f64, f64, f64, f64, f64) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 90 - pub async fn fetch_current_resources(wallet_address: H160, iron_contract: &Contract, solar_contract: &Contract, crystal_contract: &Contract, upgrade_cost: &Vec) -> (U256, U256, U256, f64, f64, f64, f64, f64, f64) { [INFO] [stdout] 90 + pub async fn fetch_current_resources(wallet_address: H160, iron_contract: &Contract, solar_contract: &Contract, crystal_contract: &Contract, upgrade_cost: &[U256]) -> (U256, U256, U256, f64, f64, f64, f64, f64, f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/utils.rs:99:23 [INFO] [stdout] | [INFO] [stdout] 99 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/utils.rs:102:23 [INFO] [stdout] | [INFO] [stdout] 102 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/utils.rs:105:23 [INFO] [stdout] | [INFO] [stdout] 105 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/utils.rs:108:40 [INFO] [stdout] | [INFO] [stdout] 108 | let upgrade_iron_amount_decimals = (upgrade_cost.get(1).unwrap().as_u128() as f64 [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 109 | | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] 110 | | as f64; [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 108 ~ let upgrade_iron_amount_decimals = (upgrade_cost.get(1).unwrap().as_u128() as f64 [INFO] [stdout] 109 ~ / (10_u64.pow(18 as u32)) as f64); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/utils.rs:109:23 [INFO] [stdout] | [INFO] [stdout] 109 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/utils.rs:111:41 [INFO] [stdout] | [INFO] [stdout] 111 | let upgrade_solar_amount_decimals = (upgrade_cost.get(0).unwrap().as_u128() as f64 [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 112 | | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] 113 | | as f64; [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 111 ~ let upgrade_solar_amount_decimals = (upgrade_cost.get(0).unwrap().as_u128() as f64 [INFO] [stdout] 112 ~ / (10_u64.pow(18 as u32)) as f64); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `upgrade_cost.get(0)` [INFO] [stdout] --> src/utils.rs:111:42 [INFO] [stdout] | [INFO] [stdout] 111 | let upgrade_solar_amount_decimals = (upgrade_cost.get(0).unwrap().as_u128() as f64 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `upgrade_cost.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/utils.rs:112:23 [INFO] [stdout] | [INFO] [stdout] 112 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/utils.rs:114:43 [INFO] [stdout] | [INFO] [stdout] 114 | let upgrade_crystal_amount_decimals = (upgrade_cost.get(2).unwrap().as_u128() as f64 [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 115 | | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] 116 | | as f64; [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 114 ~ let upgrade_crystal_amount_decimals = (upgrade_cost.get(2).unwrap().as_u128() as f64 [INFO] [stdout] 115 ~ / (10_u64.pow(18 as u32)) as f64); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/utils.rs:115:23 [INFO] [stdout] | [INFO] [stdout] 115 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> src/main.rs:92:1 [INFO] [stdout] | [INFO] [stdout] 92 | async fn upgrade_buildings(upgrade_solar..._address: Vec) -> Result<(), Box> { [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: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:135:23 [INFO] [stdout] | [INFO] [stdout] 135 | while !tx_status.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `tx_status.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:189:23 [INFO] [stdout] | [INFO] [stdout] 189 | while !tx_status.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `tx_status.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:243:23 [INFO] [stdout] | [INFO] [stdout] 243 | while !tx_status.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `tx_status.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `fetch_current_resources` doesn't need a mutable reference [INFO] [stdout] --> src/main.rs:107:330 [INFO] [stdout] | [INFO] [stdout] 107 | ..., &metal_contract, &solar_contract, &crystal_contract, &mut upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 107 - let (wallet_metal_amount, solar_amount, crystal_amount, metal_amount_decimals, solar_amount_decimals, crystal_amount_decimals, upgrade_metal_amount_decimals, upgrade_solar_amount_decimals, upgrade_crystal_amount_decimals) = fetch_current_resources(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &mut upgrade_cost).await; [INFO] [stdout] 107 + let (wallet_metal_amount, solar_amount, crystal_amount, metal_amount_decimals, solar_amount_decimals, crystal_amount_decimals, upgrade_metal_amount_decimals, upgrade_solar_amount_decimals, upgrade_crystal_amount_decimals) = fetch_current_resources(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &upgrade_cost).await; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:107:277 [INFO] [stdout] | [INFO] [stdout] 107 | ...ch_current_resources(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &mut upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `metal_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:107:294 [INFO] [stdout] | [INFO] [stdout] 107 | ...ces(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &mut upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `solar_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:107:311 [INFO] [stdout] | [INFO] [stdout] 107 | ... &metal_contract, &solar_contract, &crystal_contract, &mut upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `crystal_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `upgrade_cost.get(0)` [INFO] [stdout] --> src/main.rs:109:16 [INFO] [stdout] | [INFO] [stdout] 109 | ... if upgrade_cost.get(0).unwrap() <= &solar_amount && upgrade_cost.get(1).unwrap() <= &wallet_metal_amount && upgrade_cost.get(... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `upgrade_cost.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:110:67 [INFO] [stdout] | [INFO] [stdout] 110 | let u64_nonce = get_current_nonce(wallet_address, &web3).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `game_contract.abi().functions.get("levelUpStructure").unwrap().get(0)` [INFO] [stdout] --> src/main.rs:112:42 [INFO] [stdout] | [INFO] [stdout] 112 | ...t level_up_structure = game_contract.abi().functions.get("levelUpStructure").unwrap().get(0).unwrap().encode_input([Token::Strin... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `game_contract.abi().functions.get("levelUpStructure").unwrap().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:116:95 [INFO] [stdout] | [INFO] [stdout] 116 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:116:102 [INFO] [stdout] | [INFO] [stdout] 116 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `game_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/utils.rs:74:189 [INFO] [stdout] | [INFO] [stdout] 74 | ...,game_contract.address(), err); iteration = iteration + 1; thread::sleep(Duration::new(5,0)) }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `iteration += 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: returning the result of a `let` binding from a block [INFO] [stdout] --> src/utils.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 86 | let u64_nonce = nonce.as_u64(); [INFO] [stdout] | ------------------------------- unnecessary `let` binding [INFO] [stdout] 87 | u64_nonce [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] 86 ~ [INFO] [stdout] 87 ~ nonce.as_u64() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/utils.rs:90:189 [INFO] [stdout] | [INFO] [stdout] 90 | ...et>, crystal_contract: &Contract, upgrade_cost: &Vec) -> (U256, U256, U256, f64, f64, f64, f64, f64, f64) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 90 - pub async fn fetch_current_resources(wallet_address: H160, iron_contract: &Contract, solar_contract: &Contract, crystal_contract: &Contract, upgrade_cost: &Vec) -> (U256, U256, U256, f64, f64, f64, f64, f64, f64) { [INFO] [stdout] 90 + pub async fn fetch_current_resources(wallet_address: H160, iron_contract: &Contract, solar_contract: &Contract, crystal_contract: &Contract, upgrade_cost: &[U256]) -> (U256, U256, U256, f64, f64, f64, f64, f64, f64) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `web3::types::Bytes` [INFO] [stdout] --> src/main.rs:131:59 [INFO] [stdout] | [INFO] [stdout] 131 | let res = web3.eth().send_raw_transaction(Bytes::from(signed_tx.raw_transaction)).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `Bytes::from()`: `signed_tx.raw_transaction` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/utils.rs:99:23 [INFO] [stdout] | [INFO] [stdout] 99 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/utils.rs:102:23 [INFO] [stdout] | [INFO] [stdout] 102 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/utils.rs:105:23 [INFO] [stdout] | [INFO] [stdout] 105 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/utils.rs:108:40 [INFO] [stdout] | [INFO] [stdout] 108 | let upgrade_iron_amount_decimals = (upgrade_cost.get(1).unwrap().as_u128() as f64 [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 109 | | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] 110 | | as f64; [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 108 ~ let upgrade_iron_amount_decimals = (upgrade_cost.get(1).unwrap().as_u128() as f64 [INFO] [stdout] 109 ~ / (10_u64.pow(18 as u32)) as f64); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/utils.rs:109:23 [INFO] [stdout] | [INFO] [stdout] 109 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/utils.rs:111:41 [INFO] [stdout] | [INFO] [stdout] 111 | let upgrade_solar_amount_decimals = (upgrade_cost.get(0).unwrap().as_u128() as f64 [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 112 | | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] 113 | | as f64; [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 111 ~ let upgrade_solar_amount_decimals = (upgrade_cost.get(0).unwrap().as_u128() as f64 [INFO] [stdout] 112 ~ / (10_u64.pow(18 as u32)) as f64); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `upgrade_cost.get(0)` [INFO] [stdout] --> src/utils.rs:111:42 [INFO] [stdout] | [INFO] [stdout] 111 | let upgrade_solar_amount_decimals = (upgrade_cost.get(0).unwrap().as_u128() as f64 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `upgrade_cost.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/utils.rs:112:23 [INFO] [stdout] | [INFO] [stdout] 112 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/utils.rs:114:43 [INFO] [stdout] | [INFO] [stdout] 114 | let upgrade_crystal_amount_decimals = (upgrade_cost.get(2).unwrap().as_u128() as f64 [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 115 | | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] 116 | | as f64; [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 114 ~ let upgrade_crystal_amount_decimals = (upgrade_cost.get(2).unwrap().as_u128() as f64 [INFO] [stdout] 115 ~ / (10_u64.pow(18 as u32)) as f64); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/utils.rs:115:23 [INFO] [stdout] | [INFO] [stdout] 115 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:161:277 [INFO] [stdout] | [INFO] [stdout] 161 | ...ch_current_resources(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `metal_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:161:294 [INFO] [stdout] | [INFO] [stdout] 161 | ...ces(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `solar_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:161:311 [INFO] [stdout] | [INFO] [stdout] 161 | ... &metal_contract, &solar_contract, &crystal_contract, &upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `crystal_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `upgrade_cost.get(0)` [INFO] [stdout] --> src/main.rs:163:16 [INFO] [stdout] | [INFO] [stdout] 163 | ... if upgrade_cost.get(0).unwrap() <= &solar_amount && upgrade_cost.get(1).unwrap() <= &wallet_metal_amount && upgrade_cost.get(... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `upgrade_cost.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:164:67 [INFO] [stdout] | [INFO] [stdout] 164 | let u64_nonce = get_current_nonce(wallet_address, &web3).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `game_contract.abi().functions.get("levelUpStructure").unwrap().get(0)` [INFO] [stdout] --> src/main.rs:166:42 [INFO] [stdout] | [INFO] [stdout] 166 | ...t level_up_structure = game_contract.abi().functions.get("levelUpStructure").unwrap().get(0).unwrap().encode_input([Token::Strin... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `game_contract.abi().functions.get("levelUpStructure").unwrap().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:170:95 [INFO] [stdout] | [INFO] [stdout] 170 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:170:102 [INFO] [stdout] | [INFO] [stdout] 170 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `game_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `web3::types::Bytes` [INFO] [stdout] --> src/main.rs:185:59 [INFO] [stdout] | [INFO] [stdout] 185 | let res = web3.eth().send_raw_transaction(Bytes::from(signed_tx.raw_transaction)).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `Bytes::from()`: `signed_tx.raw_transaction` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> src/main.rs:92:1 [INFO] [stdout] | [INFO] [stdout] 92 | async fn upgrade_buildings(upgrade_solar..._address: Vec) -> Result<(), Box> { [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: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:135:23 [INFO] [stdout] | [INFO] [stdout] 135 | while !tx_status.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `tx_status.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:189:23 [INFO] [stdout] | [INFO] [stdout] 189 | while !tx_status.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `tx_status.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:243:23 [INFO] [stdout] | [INFO] [stdout] 243 | while !tx_status.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `tx_status.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:215:277 [INFO] [stdout] | [INFO] [stdout] 215 | ...ch_current_resources(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `metal_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:215:294 [INFO] [stdout] | [INFO] [stdout] 215 | ...ces(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `solar_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:215:311 [INFO] [stdout] | [INFO] [stdout] 215 | ... &metal_contract, &solar_contract, &crystal_contract, &upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `crystal_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `upgrade_cost.get(0)` [INFO] [stdout] --> src/main.rs:217:16 [INFO] [stdout] | [INFO] [stdout] 217 | ... if upgrade_cost.get(0).unwrap() <= &solar_amount && upgrade_cost.get(1).unwrap() <= &wallet_metal_amount && upgrade_cost.get(... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `upgrade_cost.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:218:67 [INFO] [stdout] | [INFO] [stdout] 218 | let u64_nonce = get_current_nonce(wallet_address, &web3).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `game_contract.abi().functions.get("levelUpStructure").unwrap().get(0)` [INFO] [stdout] --> src/main.rs:220:42 [INFO] [stdout] | [INFO] [stdout] 220 | ...t level_up_structure = game_contract.abi().functions.get("levelUpStructure").unwrap().get(0).unwrap().encode_input([Token::Strin... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `game_contract.abi().functions.get("levelUpStructure").unwrap().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `fetch_current_resources` doesn't need a mutable reference [INFO] [stdout] --> src/main.rs:107:330 [INFO] [stdout] | [INFO] [stdout] 107 | ..., &metal_contract, &solar_contract, &crystal_contract, &mut upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 107 - let (wallet_metal_amount, solar_amount, crystal_amount, metal_amount_decimals, solar_amount_decimals, crystal_amount_decimals, upgrade_metal_amount_decimals, upgrade_solar_amount_decimals, upgrade_crystal_amount_decimals) = fetch_current_resources(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &mut upgrade_cost).await; [INFO] [stdout] 107 + let (wallet_metal_amount, solar_amount, crystal_amount, metal_amount_decimals, solar_amount_decimals, crystal_amount_decimals, upgrade_metal_amount_decimals, upgrade_solar_amount_decimals, upgrade_crystal_amount_decimals) = fetch_current_resources(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &upgrade_cost).await; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:107:277 [INFO] [stdout] | [INFO] [stdout] 107 | ...ch_current_resources(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &mut upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `metal_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:224:95 [INFO] [stdout] | [INFO] [stdout] 224 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:107:294 [INFO] [stdout] | [INFO] [stdout] 107 | ...ces(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &mut upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `solar_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:224:102 [INFO] [stdout] | [INFO] [stdout] 224 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `game_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:107:311 [INFO] [stdout] | [INFO] [stdout] 107 | ... &metal_contract, &solar_contract, &crystal_contract, &mut upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `crystal_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `upgrade_cost.get(0)` [INFO] [stdout] --> src/main.rs:109:16 [INFO] [stdout] | [INFO] [stdout] 109 | ... if upgrade_cost.get(0).unwrap() <= &solar_amount && upgrade_cost.get(1).unwrap() <= &wallet_metal_amount && upgrade_cost.get(... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `upgrade_cost.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:110:67 [INFO] [stdout] | [INFO] [stdout] 110 | let u64_nonce = get_current_nonce(wallet_address, &web3).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `game_contract.abi().functions.get("levelUpStructure").unwrap().get(0)` [INFO] [stdout] --> src/main.rs:112:42 [INFO] [stdout] | [INFO] [stdout] 112 | ...t level_up_structure = game_contract.abi().functions.get("levelUpStructure").unwrap().get(0).unwrap().encode_input([Token::Strin... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `game_contract.abi().functions.get("levelUpStructure").unwrap().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:116:95 [INFO] [stdout] | [INFO] [stdout] 116 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:116:102 [INFO] [stdout] | [INFO] [stdout] 116 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `game_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `web3::types::Bytes` [INFO] [stdout] --> src/main.rs:239:59 [INFO] [stdout] | [INFO] [stdout] 239 | let res = web3.eth().send_raw_transaction(Bytes::from(signed_tx.raw_transaction)).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `Bytes::from()`: `signed_tx.raw_transaction` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:297:11 [INFO] [stdout] | [INFO] [stdout] 297 | while !tx_status.is_some() || tx_status.unwrap().status == Some(U64::from(0)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `tx_status.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:267:55 [INFO] [stdout] | [INFO] [stdout] 267 | let u64_nonce = get_current_nonce(wallet_address, &web3).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `game_contract.abi().functions.get("harvestAll").unwrap().get(0)` [INFO] [stdout] --> src/main.rs:274:23 [INFO] [stdout] | [INFO] [stdout] 274 | let harvest_all = game_contract.abi().functions.get("harvestAll").unwrap().get(0).unwrap().encode_input([Token::Array(tokens_ar... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `game_contract.abi().functions.get("harvestAll").unwrap().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:278:83 [INFO] [stdout] | [INFO] [stdout] 278 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:278:90 [INFO] [stdout] | [INFO] [stdout] 278 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `game_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `web3::types::Bytes` [INFO] [stdout] --> src/main.rs:293:47 [INFO] [stdout] | [INFO] [stdout] 293 | let res = web3.eth().send_raw_transaction(Bytes::from(signed_tx.raw_transaction)).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `Bytes::from()`: `signed_tx.raw_transaction` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `web3::types::Bytes` [INFO] [stdout] --> src/main.rs:131:59 [INFO] [stdout] | [INFO] [stdout] 131 | let res = web3.eth().send_raw_transaction(Bytes::from(signed_tx.raw_transaction)).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `Bytes::from()`: `signed_tx.raw_transaction` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/main.rs:344:27 [INFO] [stdout] | [INFO] [stdout] 344 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/main.rs:347:27 [INFO] [stdout] | [INFO] [stdout] 347 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/main.rs:350:27 [INFO] [stdout] | [INFO] [stdout] 350 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:161:277 [INFO] [stdout] | [INFO] [stdout] 161 | ...ch_current_resources(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `metal_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:161:294 [INFO] [stdout] | [INFO] [stdout] 161 | ...ces(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `solar_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:161:311 [INFO] [stdout] | [INFO] [stdout] 161 | ... &metal_contract, &solar_contract, &crystal_contract, &upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `crystal_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `upgrade_cost.get(0)` [INFO] [stdout] --> src/main.rs:163:16 [INFO] [stdout] | [INFO] [stdout] 163 | ... if upgrade_cost.get(0).unwrap() <= &solar_amount && upgrade_cost.get(1).unwrap() <= &wallet_metal_amount && upgrade_cost.get(... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `upgrade_cost.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:358:9 [INFO] [stdout] | [INFO] [stdout] 358 | total_crystal_sec = total_crystal_sec + (1. * price_response.attributes.attribute_0.value as f64 * 0.0001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_crystal_sec += (1. * price_response.attributes.attribute_0.value as f64 * 0.0001)` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:164:67 [INFO] [stdout] | [INFO] [stdout] 164 | let u64_nonce = get_current_nonce(wallet_address, &web3).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:359:9 [INFO] [stdout] | [INFO] [stdout] 359 | total_crystal_min = total_crystal_min + (60. * price_response.attributes.attribute_0.value as f64 * 0.0001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_crystal_min += (60. * price_response.attributes.attribute_0.value as f64 * 0.0001)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:360:9 [INFO] [stdout] | [INFO] [stdout] 360 | total_crystal_hour = total_crystal_hour + (3600. * price_response.attributes.attribute_0.value as f64 * 0.0001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_crystal_hour += (3600. * price_response.attributes.attribute_0.value as f64 * 0.0001)` [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: accessing first element with `game_contract.abi().functions.get("levelUpStructure").unwrap().get(0)` [INFO] [stdout] --> src/main.rs:166:42 [INFO] [stdout] | [INFO] [stdout] 166 | ...t level_up_structure = game_contract.abi().functions.get("levelUpStructure").unwrap().get(0).unwrap().encode_input([Token::Strin... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `game_contract.abi().functions.get("levelUpStructure").unwrap().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:361:9 [INFO] [stdout] | [INFO] [stdout] 361 | total_crystal_day = total_crystal_day + (86400. * price_response.attributes.attribute_0.value as f64 * 0.0001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_crystal_day += (86400. * price_response.attributes.attribute_0.value as f64 * 0.0001)` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:170:95 [INFO] [stdout] | [INFO] [stdout] 170 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:363:9 [INFO] [stdout] | [INFO] [stdout] 363 | total_metal_sec = total_metal_sec + (1. * price_response.attributes.attribute_0.value as f64 * 0.002); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_metal_sec += (1. * price_response.attributes.attribute_0.value as f64 * 0.002)` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:170:102 [INFO] [stdout] | [INFO] [stdout] 170 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `game_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:364:9 [INFO] [stdout] | [INFO] [stdout] 364 | total_metal_min = total_metal_min + (60. * price_response.attributes.attribute_0.value as f64 * 0.002); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_metal_min += (60. * price_response.attributes.attribute_0.value as f64 * 0.002)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:365:9 [INFO] [stdout] | [INFO] [stdout] 365 | total_metal_hour = total_metal_hour + (3600. * price_response.attributes.attribute_0.value as f64 * 0.002); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_metal_hour += (3600. * price_response.attributes.attribute_0.value as f64 * 0.002)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:366:9 [INFO] [stdout] | [INFO] [stdout] 366 | total_metal_day = total_metal_day + (86400. * price_response.attributes.attribute_0.value as f64 * 0.002); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_metal_day += (86400. * price_response.attributes.attribute_0.value as f64 * 0.002)` [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: useless conversion to the same type: `web3::types::Bytes` [INFO] [stdout] --> src/main.rs:185:59 [INFO] [stdout] | [INFO] [stdout] 185 | let res = web3.eth().send_raw_transaction(Bytes::from(signed_tx.raw_transaction)).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `Bytes::from()`: `signed_tx.raw_transaction` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:368:9 [INFO] [stdout] | [INFO] [stdout] 368 | total_solar_sec = total_solar_sec + (1. * price_response.attributes.attribute_0.value as f64 * 0.001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_solar_sec += (1. * price_response.attributes.attribute_0.value as f64 * 0.001)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:369:9 [INFO] [stdout] | [INFO] [stdout] 369 | total_solar_min = total_solar_min + (60. * price_response.attributes.attribute_0.value as f64 * 0.001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_solar_min += (60. * price_response.attributes.attribute_0.value as f64 * 0.001)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:370:9 [INFO] [stdout] | [INFO] [stdout] 370 | total_solar_hour = total_solar_hour + (3600. * price_response.attributes.attribute_0.value as f64 * 0.001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_solar_hour += (3600. * price_response.attributes.attribute_0.value as f64 * 0.001)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:371:9 [INFO] [stdout] | [INFO] [stdout] 371 | total_solar_day = total_solar_day + (86400. * price_response.attributes.attribute_0.value as f64 * 0.001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_solar_day += (86400. * price_response.attributes.attribute_0.value as f64 * 0.001)` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:215:277 [INFO] [stdout] | [INFO] [stdout] 215 | ...ch_current_resources(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `metal_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:215:294 [INFO] [stdout] | [INFO] [stdout] 215 | ...ces(wallet_address, &metal_contract, &solar_contract, &crystal_contract, &upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `solar_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:215:311 [INFO] [stdout] | [INFO] [stdout] 215 | ... &metal_contract, &solar_contract, &crystal_contract, &upgrade_cost).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `crystal_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `upgrade_cost.get(0)` [INFO] [stdout] --> src/main.rs:217:16 [INFO] [stdout] | [INFO] [stdout] 217 | ... if upgrade_cost.get(0).unwrap() <= &solar_amount && upgrade_cost.get(1).unwrap() <= &wallet_metal_amount && upgrade_cost.get(... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `upgrade_cost.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/main.rs:391:23 [INFO] [stdout] | [INFO] [stdout] 391 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/main.rs:394:23 [INFO] [stdout] | [INFO] [stdout] 394 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:218:67 [INFO] [stdout] | [INFO] [stdout] 218 | let u64_nonce = get_current_nonce(wallet_address, &web3).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/main.rs:397:23 [INFO] [stdout] | [INFO] [stdout] 397 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `game_contract.abi().functions.get("levelUpStructure").unwrap().get(0)` [INFO] [stdout] --> src/main.rs:220:42 [INFO] [stdout] | [INFO] [stdout] 220 | ...t level_up_structure = game_contract.abi().functions.get("levelUpStructure").unwrap().get(0).unwrap().encode_input([Token::Strin... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `game_contract.abi().functions.get("levelUpStructure").unwrap().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:224:95 [INFO] [stdout] | [INFO] [stdout] 224 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:224:102 [INFO] [stdout] | [INFO] [stdout] 224 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `game_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | ... fetch_info(planet_contract, game_contract, metal_contract, solar_contract, crystal_contract, planets_for_address, wallet_address).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 82 | let _ = fetch_info(planet_contract, game_contract, metal_contract, solar_contract, crystal_contract, planets_for_address, wallet_address).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `web3::types::Bytes` [INFO] [stdout] --> src/main.rs:239:59 [INFO] [stdout] | [INFO] [stdout] 239 | let res = web3.eth().send_raw_transaction(Bytes::from(signed_tx.raw_transaction)).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `Bytes::from()`: `signed_tx.raw_transaction` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `planetNo` should have a snake case name [INFO] [stdout] --> src/utils.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub planetNo: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `planet_no` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:297:11 [INFO] [stdout] | [INFO] [stdout] 297 | while !tx_status.is_some() || tx_status.unwrap().status == Some(U64::from(0)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `tx_status.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:267:55 [INFO] [stdout] | [INFO] [stdout] 267 | let u64_nonce = get_current_nonce(wallet_address, &web3).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `game_contract.abi().functions.get("harvestAll").unwrap().get(0)` [INFO] [stdout] --> src/main.rs:274:23 [INFO] [stdout] | [INFO] [stdout] 274 | let harvest_all = game_contract.abi().functions.get("harvestAll").unwrap().get(0).unwrap().encode_input([Token::Array(tokens_ar... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `game_contract.abi().functions.get("harvestAll").unwrap().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:278:83 [INFO] [stdout] | [INFO] [stdout] 278 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^ help: change this to: `web3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:278:90 [INFO] [stdout] | [INFO] [stdout] 278 | let estimated_gas_usage = get_gas_usage_estimation(wallet_address, gas_price, &web3, &game_contract, &bytes).await; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `game_contract` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `web3::types::Bytes` [INFO] [stdout] --> src/main.rs:293:47 [INFO] [stdout] | [INFO] [stdout] 293 | let res = web3.eth().send_raw_transaction(Bytes::from(signed_tx.raw_transaction)).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `Bytes::from()`: `signed_tx.raw_transaction` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/main.rs:344:27 [INFO] [stdout] | [INFO] [stdout] 344 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/main.rs:347:27 [INFO] [stdout] | [INFO] [stdout] 347 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/main.rs:350:27 [INFO] [stdout] | [INFO] [stdout] 350 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:358:9 [INFO] [stdout] | [INFO] [stdout] 358 | total_crystal_sec = total_crystal_sec + (1. * price_response.attributes.attribute_0.value as f64 * 0.0001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_crystal_sec += (1. * price_response.attributes.attribute_0.value as f64 * 0.0001)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:359:9 [INFO] [stdout] | [INFO] [stdout] 359 | total_crystal_min = total_crystal_min + (60. * price_response.attributes.attribute_0.value as f64 * 0.0001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_crystal_min += (60. * price_response.attributes.attribute_0.value as f64 * 0.0001)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:360:9 [INFO] [stdout] | [INFO] [stdout] 360 | total_crystal_hour = total_crystal_hour + (3600. * price_response.attributes.attribute_0.value as f64 * 0.0001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_crystal_hour += (3600. * price_response.attributes.attribute_0.value as f64 * 0.0001)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:361:9 [INFO] [stdout] | [INFO] [stdout] 361 | total_crystal_day = total_crystal_day + (86400. * price_response.attributes.attribute_0.value as f64 * 0.0001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_crystal_day += (86400. * price_response.attributes.attribute_0.value as f64 * 0.0001)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:363:9 [INFO] [stdout] | [INFO] [stdout] 363 | total_metal_sec = total_metal_sec + (1. * price_response.attributes.attribute_0.value as f64 * 0.002); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_metal_sec += (1. * price_response.attributes.attribute_0.value as f64 * 0.002)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:364:9 [INFO] [stdout] | [INFO] [stdout] 364 | total_metal_min = total_metal_min + (60. * price_response.attributes.attribute_0.value as f64 * 0.002); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_metal_min += (60. * price_response.attributes.attribute_0.value as f64 * 0.002)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:365:9 [INFO] [stdout] | [INFO] [stdout] 365 | total_metal_hour = total_metal_hour + (3600. * price_response.attributes.attribute_0.value as f64 * 0.002); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_metal_hour += (3600. * price_response.attributes.attribute_0.value as f64 * 0.002)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:366:9 [INFO] [stdout] | [INFO] [stdout] 366 | total_metal_day = total_metal_day + (86400. * price_response.attributes.attribute_0.value as f64 * 0.002); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_metal_day += (86400. * price_response.attributes.attribute_0.value as f64 * 0.002)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:368:9 [INFO] [stdout] | [INFO] [stdout] 368 | total_solar_sec = total_solar_sec + (1. * price_response.attributes.attribute_0.value as f64 * 0.001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_solar_sec += (1. * price_response.attributes.attribute_0.value as f64 * 0.001)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:369:9 [INFO] [stdout] | [INFO] [stdout] 369 | total_solar_min = total_solar_min + (60. * price_response.attributes.attribute_0.value as f64 * 0.001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_solar_min += (60. * price_response.attributes.attribute_0.value as f64 * 0.001)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:370:9 [INFO] [stdout] | [INFO] [stdout] 370 | total_solar_hour = total_solar_hour + (3600. * price_response.attributes.attribute_0.value as f64 * 0.001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_solar_hour += (3600. * price_response.attributes.attribute_0.value as f64 * 0.001)` [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: manual implementation of an assign operation [INFO] [stdout] --> src/main.rs:371:9 [INFO] [stdout] | [INFO] [stdout] 371 | total_solar_day = total_solar_day + (86400. * price_response.attributes.attribute_0.value as f64 * 0.001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_solar_day += (86400. * price_response.attributes.attribute_0.value as f64 * 0.001)` [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: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/main.rs:391:23 [INFO] [stdout] | [INFO] [stdout] 391 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/main.rs:394:23 [INFO] [stdout] | [INFO] [stdout] 394 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/main.rs:397:23 [INFO] [stdout] | [INFO] [stdout] 397 | / (10_u64.pow(18 as u32)) as f64) [INFO] [stdout] | ^^^^^^^^^ help: try: `18_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | ... fetch_info(planet_contract, game_contract, metal_contract, solar_contract, crystal_contract, planets_for_address, wallet_address).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 82 | let _ = fetch_info(planet_contract, game_contract, metal_contract, solar_contract, crystal_contract, planets_for_address, wallet_address).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `planetNo` should have a snake case name [INFO] [stdout] --> src/utils.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub planetNo: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `planet_no` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.91s [INFO] running `Command { std: "docker" "inspect" "9909e31edcd66167097ffa08a6342fc9a8fe3a17ed6dc45a4a1ddb62b639dcd9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9909e31edcd66167097ffa08a6342fc9a8fe3a17ed6dc45a4a1ddb62b639dcd9", kill_on_drop: false }` [INFO] [stdout] 9909e31edcd66167097ffa08a6342fc9a8fe3a17ed6dc45a4a1ddb62b639dcd9