[INFO] fetching crate sei-integration-tests 0.4.11... [INFO] linting sei-integration-tests-0.4.11 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate sei-integration-tests 0.4.11 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate sei-integration-tests 0.4.11 [INFO] finished tweaking crates.io crate sei-integration-tests 0.4.11 [INFO] tweaked toml for crates.io crate sei-integration-tests 0.4.11 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate sei-integration-tests 0.4.11 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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 107 packages to latest compatible versions [INFO] [stderr] Adding base64 v0.21.7 (available: v0.22.1) [INFO] [stderr] Adding cosmwasm-std v1.5.11 (available: v3.0.4) [INFO] [stderr] Adding curve25519-dalek v3.2.0 (available: v3.2.1) [INFO] [stderr] Adding cw-multi-test v0.16.5 (available: v0.16.6) [INFO] [stderr] Adding cw20-base v0.13.4 (available: v2.0.0) [INFO] [stderr] Adding generic-array v0.14.7 (available: v0.14.9) [INFO] [stderr] Adding protobuf v3.2.0 (available: v3.7.2) [INFO] [stderr] Adding protobuf-support v3.2.0 (available: v3.7.2) [INFO] [stderr] Adding schemars v0.8.22 (available: v1.2.1) [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] Downloading crates ... [INFO] [stderr] Downloaded protobuf-support v3.2.0 [INFO] [stderr] Downloaded cw20 v1.1.2 [INFO] [stderr] Downloaded cw2 v0.13.4 [INFO] [stderr] Downloaded cw20 v0.13.4 [INFO] [stderr] Downloaded cw-multi-test v0.16.5 [INFO] [stderr] Downloaded cosmwasm-schema v1.5.11 [INFO] [stderr] Downloaded bnum v0.10.0 [INFO] [stderr] Downloaded forward_ref v1.0.0 [INFO] [stderr] Downloaded protobuf v3.2.0 [INFO] [stderr] Downloaded cw20-base v0.13.4 [INFO] [stderr] Downloaded cosmwasm-std v1.5.11 [INFO] [stderr] Downloaded cw-storage-plus v0.13.4 [INFO] [stderr] Downloaded k256 v0.11.6 [INFO] [stderr] Downloaded cosmwasm-schema-derive v1.5.11 [INFO] [stderr] Downloaded cosmwasm-crypto v1.5.11 [INFO] [stderr] Downloaded cw-storage-plus v1.2.0 [INFO] [stderr] Downloaded cw-utils v1.0.3 [INFO] [stderr] Downloaded sei-cosmwasm v0.4.15 [INFO] [stderr] Downloaded cw-utils v0.13.4 [INFO] [stderr] Downloaded cosmwasm-derive v1.5.11 [INFO] [stderr] Downloaded serde-json-wasm v0.5.2 [INFO] [stderr] Downloaded cw2 v1.1.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 0ce73baf8cad00660b8db2c6fd70e7752df028b6ce0a9ba1d9a72144518520df [INFO] running `Command { std: "docker" "start" "-a" "0ce73baf8cad00660b8db2c6fd70e7752df028b6ce0a9ba1d9a72144518520df", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0ce73baf8cad00660b8db2c6fd70e7752df028b6ce0a9ba1d9a72144518520df", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0ce73baf8cad00660b8db2c6fd70e7752df028b6ce0a9ba1d9a72144518520df", kill_on_drop: false }` [INFO] [stdout] 0ce73baf8cad00660b8db2c6fd70e7752df028b6ce0a9ba1d9a72144518520df [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] e62dbe8ec0bd84d4c1291d1595edd6589e61c85d480b976bb3f7d52c8c969168 [INFO] running `Command { std: "docker" "start" "-a" "e62dbe8ec0bd84d4c1291d1595edd6589e61c85d480b976bb3f7d52c8c969168", kill_on_drop: false }` [INFO] [stderr] Checking generic-array v0.14.7 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Checking ff v0.13.1 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking ahash v0.7.8 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling schemars v0.8.22 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Checking group v0.13.0 [INFO] [stderr] Compiling cosmwasm-derive v1.5.11 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Checking bech32 v0.9.1 [INFO] [stderr] Checking forward_ref v1.0.0 [INFO] [stderr] Checking bnum v0.10.0 [INFO] [stderr] Checking der v0.6.1 [INFO] [stderr] Compiling cosmwasm-schema-derive v1.5.11 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking crypto-bigint v0.5.5 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking sec1 v0.7.3 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking curve25519-dalek v3.2.0 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Checking rfc6979 v0.4.0 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking sha2 v0.9.9 [INFO] [stderr] Checking spki v0.6.0 [INFO] [stderr] Checking pkcs8 v0.9.0 [INFO] [stderr] Checking crypto-bigint v0.4.9 [INFO] [stderr] Checking ff v0.12.1 [INFO] [stderr] Checking semver v1.0.27 [INFO] [stderr] Checking group v0.12.1 [INFO] [stderr] Checking sec1 v0.3.0 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Checking signature v1.6.4 [INFO] [stderr] Compiling protobuf v3.2.0 [INFO] [stderr] Checking elliptic-curve v0.12.3 [INFO] [stderr] Checking rfc6979 v0.3.1 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Checking elliptic-curve v0.13.8 [INFO] [stderr] Checking ecdsa v0.14.8 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Checking k256 v0.11.6 [INFO] [stderr] Checking ecdsa v0.16.9 [INFO] [stderr] Compiling prost-derive v0.9.0 [INFO] [stderr] Checking k256 v0.13.4 [INFO] [stderr] Compiling schemars_derive v0.8.22 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking protobuf-support v3.2.0 [INFO] [stderr] Checking prost v0.9.0 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking ed25519-zebra v3.1.0 [INFO] [stderr] Checking serde-json-wasm v0.5.2 [INFO] [stderr] Checking cosmwasm-crypto v1.5.11 [INFO] [stderr] Checking cosmwasm-std v1.5.11 [INFO] [stderr] Checking cosmwasm-schema v1.5.11 [INFO] [stderr] Checking cw-storage-plus v1.2.0 [INFO] [stderr] Checking cw-storage-plus v0.13.4 [INFO] [stderr] Checking cw-utils v0.13.4 [INFO] [stderr] Checking cw2 v0.13.4 [INFO] [stderr] Checking cw20 v0.13.4 [INFO] [stderr] Checking cw2 v1.1.2 [INFO] [stderr] Checking cw-utils v1.0.3 [INFO] [stderr] Checking cw20-base v0.13.4 [INFO] [stderr] Checking cw20 v1.1.2 [INFO] [stderr] Checking cw-multi-test v0.16.5 [INFO] [stderr] Checking sei-cosmwasm v0.4.15 [INFO] [stderr] Checking sei-integration-tests v0.4.11 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/helper.rs:33:17 [INFO] [stdout] | [INFO] [stdout] 33 | denom: denom, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `denom` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/module.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | exchange_rates: exchange_rates, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exchange_rates` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/module.rs:443:17 [INFO] [stdout] | [INFO] [stdout] 443 | lookback_seconds: lookback_seconds, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lookback_seconds` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/module.rs:477:13 [INFO] [stdout] | [INFO] [stdout] 477 | lookback_seconds: lookback_seconds, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lookback_seconds` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/module.rs:482:9 [INFO] [stdout] | [INFO] [stdout] 482 | oracle_twaps: oracle_twaps, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `oracle_twaps` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/module.rs:552:13 [INFO] [stdout] | [INFO] [stdout] 552 | lookback_seconds: lookback_seconds, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lookback_seconds` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/module.rs:657:21 [INFO] [stdout] | [INFO] [stdout] 657 | EpochResponse { epoch: epoch } [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `epoch` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/helper.rs:33:17 [INFO] [stdout] | [INFO] [stdout] 33 | denom: denom, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `denom` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/module.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | exchange_rates: exchange_rates, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `exchange_rates` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/module.rs:443:17 [INFO] [stdout] | [INFO] [stdout] 443 | lookback_seconds: lookback_seconds, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lookback_seconds` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/module.rs:477:13 [INFO] [stdout] | [INFO] [stdout] 477 | lookback_seconds: lookback_seconds, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lookback_seconds` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/module.rs:482:9 [INFO] [stdout] | [INFO] [stdout] 482 | oracle_twaps: oracle_twaps, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `oracle_twaps` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/module.rs:552:13 [INFO] [stdout] | [INFO] [stdout] 552 | lookback_seconds: lookback_seconds, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lookback_seconds` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/module.rs:657:21 [INFO] [stdout] | [INFO] [stdout] 657 | EpochResponse { epoch: epoch } [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `epoch` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/helper.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | from_json(&arr.unwrap()).unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `arr.unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/helper.rs:44:6 [INFO] [stdout] | [INFO] [stdout] 44 | ) -> App< [INFO] [stdout] | ______^ [INFO] [stdout] 45 | | BankKeeper, [INFO] [stdout] 46 | | MockApi, [INFO] [stdout] 47 | | MockStorage, [INFO] [stdout] ... | [INFO] [stdout] 53 | | FailingModule, [INFO] [stdout] 54 | | > [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/helper.rs:70:21 [INFO] [stdout] | [INFO] [stdout] 70 | let appbuilder: AppBuilder< [INFO] [stdout] | _____________________^ [INFO] [stdout] 71 | | BankKeeper, [INFO] [stdout] 72 | | MockApi, [INFO] [stdout] 73 | | MockStorage, [INFO] [stdout] ... | [INFO] [stdout] 79 | | FailingModule, [INFO] [stdout] 80 | | > = AppBuilder::new() [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/module.rs:53:18 [INFO] [stdout] | [INFO] [stdout] 53 | .or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/module.rs:74:29 [INFO] [stdout] | [INFO] [stdout] 74 | exchange_rates: (&self.exchange_rates).clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.exchange_rates` [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: unneeded `return` statement [INFO] [stdout] --> src/module.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | / return execute_place_orders_helper( [INFO] [stdout] 110 | | storage, [INFO] [stdout] 111 | | block, [INFO] [stdout] 112 | | orders, [INFO] [stdout] 113 | | funds, [INFO] [stdout] 114 | | contract_address, [INFO] [stdout] 115 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 109 ~ execute_place_orders_helper( [INFO] [stdout] 110 + storage, [INFO] [stdout] 111 + block, [INFO] [stdout] 112 + orders, [INFO] [stdout] 113 + funds, [INFO] [stdout] 114 + contract_address, [INFO] [stdout] 115 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | return execute_cancel_orders_helper(storage, cancellations, contract_address); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 121 - return execute_cancel_orders_helper(storage, cancellations, contract_address); [INFO] [stdout] 121 + execute_cancel_orders_helper(storage, cancellations, contract_address) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:124:17 [INFO] [stdout] | [INFO] [stdout] 124 | return execute_create_denom_helper(storage, sender, subdenom); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 124 - return execute_create_denom_helper(storage, sender, subdenom); [INFO] [stdout] 124 + execute_create_denom_helper(storage, sender, subdenom) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | return execute_mint_tokens_helper(api, storage, router, block, sender, amount); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 127 - return execute_mint_tokens_helper(api, storage, router, block, sender, amount); [INFO] [stdout] 127 + execute_mint_tokens_helper(api, storage, router, block, sender, amount) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | return execute_burn_tokens_helper(api, storage, router, block, sender, amount); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 130 - return execute_burn_tokens_helper(api, storage, router, block, sender, amount); [INFO] [stdout] 130 + execute_burn_tokens_helper(api, storage, router, block, sender, amount) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:170:35 [INFO] [stdout] | [INFO] [stdout] 170 | SeiQuery::Epoch {} => return query_get_epoch_helper(self.epoch.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 170 - SeiQuery::Epoch {} => return query_get_epoch_helper(self.epoch.clone()), [INFO] [stdout] 170 + SeiQuery::Epoch {} => query_get_epoch_helper(self.epoch.clone()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:175:17 [INFO] [stdout] | [INFO] [stdout] 175 | return query_get_orders_helper(storage, contract_address, account); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 175 - return query_get_orders_helper(storage, contract_address, account); [INFO] [stdout] 175 + query_get_orders_helper(storage, contract_address, account) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | / return query_get_order_by_id_helper( [INFO] [stdout] 188 | | storage, [INFO] [stdout] 189 | | contract_address, [INFO] [stdout] 190 | | price_denom, [INFO] [stdout] 191 | | asset_denom, [INFO] [stdout] 192 | | id, [INFO] [stdout] 193 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 187 ~ query_get_order_by_id_helper( [INFO] [stdout] 188 + storage, [INFO] [stdout] 189 + contract_address, [INFO] [stdout] 190 + price_denom, [INFO] [stdout] 191 + asset_denom, [INFO] [stdout] 192 + id, [INFO] [stdout] 193 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/module.rs:358:8 [INFO] [stdout] | [INFO] [stdout] 358 | if !existing_order_responses.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `existing_order_responses.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: using `clone` on type `u64` which implements the `Copy` trait [INFO] [stdout] --> src/module.rs:373:25 [INFO] [stdout] | [INFO] [stdout] 373 | .filter(|o| order_id.clone() == o.id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `order_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression can be written more simply using `.retain()` [INFO] [stdout] --> src/module.rs:388:5 [INFO] [stdout] | [INFO] [stdout] 388 | / order_responses = order_responses [INFO] [stdout] 389 | | .into_iter() [INFO] [stdout] 390 | | .filter(|o| !order_ids.contains(&o.id)) [INFO] [stdout] 391 | | .collect(); [INFO] [stdout] | |__________________^ help: consider calling `.retain()` instead: `order_responses.retain(|o| !order_ids.contains(&o.id))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_retain [INFO] [stdout] = note: `#[warn(clippy::manual_retain)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/module.rs:430:15 [INFO] [stdout] | [INFO] [stdout] 430 | let lbs = lookback_seconds as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `lookback_seconds` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/module.rs:496:9 [INFO] [stdout] | [INFO] [stdout] 496 | &query_get_orders_helper(storage, contract_address, Addr::unchecked("")).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `query_get_orders_helper(storage, contract_address, Addr::unchecked("")).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/module.rs:501:5 [INFO] [stdout] | [INFO] [stdout] 501 | orders.sort_by(|a, b| b.id.cmp(&a.id)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 501 - orders.sort_by(|a, b| b.id.cmp(&a.id)); [INFO] [stdout] 501 + orders.sort_by_key(|b| std::cmp::Reverse(b.id)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stdout] --> src/module.rs:513:13 [INFO] [stdout] | [INFO] [stdout] 513 | / if !dex_twaps.contains_key(&(order.asset_denom.clone(), order.price_denom.clone())) { [INFO] [stdout] 514 | | dex_twaps.insert( [INFO] [stdout] 515 | | (order.asset_denom.clone(), order.price_denom.clone()), [INFO] [stdout] 516 | | Decimal::zero(), [INFO] [stdout] 517 | | ); [INFO] [stdout] 518 | | } [INFO] [stdout] | |_____________^ help: try: `dex_twaps.entry((order.asset_denom.clone(), order.price_denom.clone())).or_insert_with(|| Decimal::zero());` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stdout] = note: `#[warn(clippy::map_entry)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/module.rs:567:9 [INFO] [stdout] | [INFO] [stdout] 567 | &query_get_orders_helper(storage, contract_address, Addr::unchecked("")).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `query_get_orders_helper(storage, contract_address, Addr::unchecked("")).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/module.rs:578:9 [INFO] [stdout] | [INFO] [stdout] 578 | / if order_response.position_direction == valid_orders { [INFO] [stdout] 579 | | if (order_response.position_direction == PositionDirection::Long [INFO] [stdout] 580 | | && order.price <= order_response.price) [INFO] [stdout] 581 | | || (order_response.position_direction == PositionDirection::Short [INFO] [stdout] ... | [INFO] [stdout] 586 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 578 ~ if order_response.position_direction == valid_orders [INFO] [stdout] 579 ~ && ((order_response.position_direction == PositionDirection::Long [INFO] [stdout] 580 | && order.price <= order_response.price) [INFO] [stdout] 581 | || (order_response.position_direction == PositionDirection::Short [INFO] [stdout] 582 ~ && order.price >= order_response.price)) [INFO] [stdout] 583 | { [INFO] [stdout] 584 | executed_quantity += order_response.quantity; [INFO] [stdout] 585 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/module.rs:606:8 [INFO] [stdout] | [INFO] [stdout] 606 | if !existing_order_responses.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `existing_order_responses.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: unneeded `return` statement [INFO] [stdout] --> src/module.rs:616:5 [INFO] [stdout] | [INFO] [stdout] 616 | / return Ok(to_json_binary(&GetOrdersResponse { [INFO] [stdout] 617 | | orders: order_responses, [INFO] [stdout] 618 | | })?); [INFO] [stdout] | |________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 616 ~ Ok(to_json_binary(&GetOrdersResponse { [INFO] [stdout] 617 + orders: order_responses, [INFO] [stdout] 618 ~ })?) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/module.rs:640:8 [INFO] [stdout] | [INFO] [stdout] 640 | if !existing_order_response.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `existing_order_response.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: unneeded `return` statement [INFO] [stdout] --> src/module.rs:649:5 [INFO] [stdout] | [INFO] [stdout] 649 | / return Ok(to_json_binary(&GetOrderByIdResponse { [INFO] [stdout] 650 | | order: order_response, [INFO] [stdout] 651 | | })?); [INFO] [stdout] | |________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 649 ~ Ok(to_json_binary(&GetOrderByIdResponse { [INFO] [stdout] 650 + order: order_response, [INFO] [stdout] 651 ~ })?) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:692:5 [INFO] [stdout] | [INFO] [stdout] 692 | return Ok(to_json_binary(&get_epoch(epoch))?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 692 - return Ok(to_json_binary(&get_epoch(epoch))?); [INFO] [stdout] 692 + Ok(to_json_binary(&get_epoch(epoch))?) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/helper.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | from_json(&arr.unwrap()).unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `arr.unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/helper.rs:44:6 [INFO] [stdout] | [INFO] [stdout] 44 | ) -> App< [INFO] [stdout] | ______^ [INFO] [stdout] 45 | | BankKeeper, [INFO] [stdout] 46 | | MockApi, [INFO] [stdout] 47 | | MockStorage, [INFO] [stdout] ... | [INFO] [stdout] 53 | | FailingModule, [INFO] [stdout] 54 | | > [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/helper.rs:70:21 [INFO] [stdout] | [INFO] [stdout] 70 | let appbuilder: AppBuilder< [INFO] [stdout] | _____________________^ [INFO] [stdout] 71 | | BankKeeper, [INFO] [stdout] 72 | | MockApi, [INFO] [stdout] 73 | | MockStorage, [INFO] [stdout] ... | [INFO] [stdout] 79 | | FailingModule, [INFO] [stdout] 80 | | > = AppBuilder::new() [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/module.rs:53:18 [INFO] [stdout] | [INFO] [stdout] 53 | .or_insert_with(Vec::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/module.rs:74:29 [INFO] [stdout] | [INFO] [stdout] 74 | exchange_rates: (&self.exchange_rates).clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.exchange_rates` [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: unneeded `return` statement [INFO] [stdout] --> src/module.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | / return execute_place_orders_helper( [INFO] [stdout] 110 | | storage, [INFO] [stdout] 111 | | block, [INFO] [stdout] 112 | | orders, [INFO] [stdout] 113 | | funds, [INFO] [stdout] 114 | | contract_address, [INFO] [stdout] 115 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 109 ~ execute_place_orders_helper( [INFO] [stdout] 110 + storage, [INFO] [stdout] 111 + block, [INFO] [stdout] 112 + orders, [INFO] [stdout] 113 + funds, [INFO] [stdout] 114 + contract_address, [INFO] [stdout] 115 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | return execute_cancel_orders_helper(storage, cancellations, contract_address); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 121 - return execute_cancel_orders_helper(storage, cancellations, contract_address); [INFO] [stdout] 121 + execute_cancel_orders_helper(storage, cancellations, contract_address) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:124:17 [INFO] [stdout] | [INFO] [stdout] 124 | return execute_create_denom_helper(storage, sender, subdenom); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 124 - return execute_create_denom_helper(storage, sender, subdenom); [INFO] [stdout] 124 + execute_create_denom_helper(storage, sender, subdenom) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | return execute_mint_tokens_helper(api, storage, router, block, sender, amount); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 127 - return execute_mint_tokens_helper(api, storage, router, block, sender, amount); [INFO] [stdout] 127 + execute_mint_tokens_helper(api, storage, router, block, sender, amount) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | return execute_burn_tokens_helper(api, storage, router, block, sender, amount); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 130 - return execute_burn_tokens_helper(api, storage, router, block, sender, amount); [INFO] [stdout] 130 + execute_burn_tokens_helper(api, storage, router, block, sender, amount) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:170:35 [INFO] [stdout] | [INFO] [stdout] 170 | SeiQuery::Epoch {} => return query_get_epoch_helper(self.epoch.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 170 - SeiQuery::Epoch {} => return query_get_epoch_helper(self.epoch.clone()), [INFO] [stdout] 170 + SeiQuery::Epoch {} => query_get_epoch_helper(self.epoch.clone()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:175:17 [INFO] [stdout] | [INFO] [stdout] 175 | return query_get_orders_helper(storage, contract_address, account); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 175 - return query_get_orders_helper(storage, contract_address, account); [INFO] [stdout] 175 + query_get_orders_helper(storage, contract_address, account) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | / return query_get_order_by_id_helper( [INFO] [stdout] 188 | | storage, [INFO] [stdout] 189 | | contract_address, [INFO] [stdout] 190 | | price_denom, [INFO] [stdout] 191 | | asset_denom, [INFO] [stdout] 192 | | id, [INFO] [stdout] 193 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 187 ~ query_get_order_by_id_helper( [INFO] [stdout] 188 + storage, [INFO] [stdout] 189 + contract_address, [INFO] [stdout] 190 + price_denom, [INFO] [stdout] 191 + asset_denom, [INFO] [stdout] 192 + id, [INFO] [stdout] 193 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/module.rs:358:8 [INFO] [stdout] | [INFO] [stdout] 358 | if !existing_order_responses.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `existing_order_responses.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: using `clone` on type `u64` which implements the `Copy` trait [INFO] [stdout] --> src/module.rs:373:25 [INFO] [stdout] | [INFO] [stdout] 373 | .filter(|o| order_id.clone() == o.id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `order_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression can be written more simply using `.retain()` [INFO] [stdout] --> src/module.rs:388:5 [INFO] [stdout] | [INFO] [stdout] 388 | / order_responses = order_responses [INFO] [stdout] 389 | | .into_iter() [INFO] [stdout] 390 | | .filter(|o| !order_ids.contains(&o.id)) [INFO] [stdout] 391 | | .collect(); [INFO] [stdout] | |__________________^ help: consider calling `.retain()` instead: `order_responses.retain(|o| !order_ids.contains(&o.id))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_retain [INFO] [stdout] = note: `#[warn(clippy::manual_retain)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/module.rs:430:15 [INFO] [stdout] | [INFO] [stdout] 430 | let lbs = lookback_seconds as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `lookback_seconds` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/module.rs:496:9 [INFO] [stdout] | [INFO] [stdout] 496 | &query_get_orders_helper(storage, contract_address, Addr::unchecked("")).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `query_get_orders_helper(storage, contract_address, Addr::unchecked("")).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/module.rs:501:5 [INFO] [stdout] | [INFO] [stdout] 501 | orders.sort_by(|a, b| b.id.cmp(&a.id)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 501 - orders.sort_by(|a, b| b.id.cmp(&a.id)); [INFO] [stdout] 501 + orders.sort_by_key(|b| std::cmp::Reverse(b.id)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stdout] --> src/module.rs:513:13 [INFO] [stdout] | [INFO] [stdout] 513 | / if !dex_twaps.contains_key(&(order.asset_denom.clone(), order.price_denom.clone())) { [INFO] [stdout] 514 | | dex_twaps.insert( [INFO] [stdout] 515 | | (order.asset_denom.clone(), order.price_denom.clone()), [INFO] [stdout] 516 | | Decimal::zero(), [INFO] [stdout] 517 | | ); [INFO] [stdout] 518 | | } [INFO] [stdout] | |_____________^ help: try: `dex_twaps.entry((order.asset_denom.clone(), order.price_denom.clone())).or_insert_with(|| Decimal::zero());` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stdout] = note: `#[warn(clippy::map_entry)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/module.rs:567:9 [INFO] [stdout] | [INFO] [stdout] 567 | &query_get_orders_helper(storage, contract_address, Addr::unchecked("")).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `query_get_orders_helper(storage, contract_address, Addr::unchecked("")).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/module.rs:578:9 [INFO] [stdout] | [INFO] [stdout] 578 | / if order_response.position_direction == valid_orders { [INFO] [stdout] 579 | | if (order_response.position_direction == PositionDirection::Long [INFO] [stdout] 580 | | && order.price <= order_response.price) [INFO] [stdout] 581 | | || (order_response.position_direction == PositionDirection::Short [INFO] [stdout] ... | [INFO] [stdout] 586 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 578 ~ if order_response.position_direction == valid_orders [INFO] [stdout] 579 ~ && ((order_response.position_direction == PositionDirection::Long [INFO] [stdout] 580 | && order.price <= order_response.price) [INFO] [stdout] 581 | || (order_response.position_direction == PositionDirection::Short [INFO] [stdout] 582 ~ && order.price >= order_response.price)) [INFO] [stdout] 583 | { [INFO] [stdout] 584 | executed_quantity += order_response.quantity; [INFO] [stdout] 585 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/module.rs:606:8 [INFO] [stdout] | [INFO] [stdout] 606 | if !existing_order_responses.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `existing_order_responses.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: unneeded `return` statement [INFO] [stdout] --> src/module.rs:616:5 [INFO] [stdout] | [INFO] [stdout] 616 | / return Ok(to_json_binary(&GetOrdersResponse { [INFO] [stdout] 617 | | orders: order_responses, [INFO] [stdout] 618 | | })?); [INFO] [stdout] | |________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 616 ~ Ok(to_json_binary(&GetOrdersResponse { [INFO] [stdout] 617 + orders: order_responses, [INFO] [stdout] 618 ~ })?) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/module.rs:640:8 [INFO] [stdout] | [INFO] [stdout] 640 | if !existing_order_response.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `existing_order_response.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: unneeded `return` statement [INFO] [stdout] --> src/module.rs:649:5 [INFO] [stdout] | [INFO] [stdout] 649 | / return Ok(to_json_binary(&GetOrderByIdResponse { [INFO] [stdout] 650 | | order: order_response, [INFO] [stdout] 651 | | })?); [INFO] [stdout] | |________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 649 ~ Ok(to_json_binary(&GetOrderByIdResponse { [INFO] [stdout] 650 + order: order_response, [INFO] [stdout] 651 ~ })?) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/module.rs:692:5 [INFO] [stdout] | [INFO] [stdout] 692 | return Ok(to_json_binary(&get_epoch(epoch))?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 692 - return Ok(to_json_binary(&get_epoch(epoch))?); [INFO] [stdout] 692 + Ok(to_json_binary(&get_epoch(epoch))?) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.48s [INFO] running `Command { std: "docker" "inspect" "e62dbe8ec0bd84d4c1291d1595edd6589e61c85d480b976bb3f7d52c8c969168", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e62dbe8ec0bd84d4c1291d1595edd6589e61c85d480b976bb3f7d52c8c969168", kill_on_drop: false }` [INFO] [stdout] e62dbe8ec0bd84d4c1291d1595edd6589e61c85d480b976bb3f7d52c8c969168