[INFO] cloning repository https://github.com/nthang2/Staking_training
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nthang2/Staking_training" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnthang2%2FStaking_training", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnthang2%2FStaking_training'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4644ba3627ced2378fc33b384168d444ae18a695
[INFO] checking nthang2/Staking_training against try#b4c55082edd8dec08ce8af276d7054d9c4db20c4 for pr-147984
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnthang2%2FStaking_training" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/nthang2/Staking_training
[INFO] finished tweaking git repo https://github.com/nthang2/Staking_training
[INFO] tweaked toml for git repo https://github.com/nthang2/Staking_training written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nthang2/Staking_training on toolchain b4c55082edd8dec08ce8af276d7054d9c4db20c4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nthang2/Staking_training 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" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded schemars v0.8.21
[INFO] [stderr]   Downloaded cosmwasm-schema-derive v1.5.8
[INFO] [stderr]   Downloaded cosmwasm-storage v1.5.2
[INFO] [stderr]   Downloaded cw-utils v1.0.3
[INFO] [stderr]   Downloaded cosmwasm-crypto v1.5.8
[INFO] [stderr]   Downloaded cw20 v1.1.2
[INFO] [stderr]   Downloaded cw-storage-plus v1.2.0
[INFO] [stderr]   Downloaded cw-multi-test v1.2.0
[INFO] [stderr]   Downloaded cw20-base v1.1.2
[INFO] [stderr]   Downloaded schemars_derive v0.8.21
[INFO] [stderr]   Downloaded bnum v0.10.0
[INFO] [stderr]   Downloaded cosmwasm-std v1.5.8
[INFO] [stderr]   Downloaded serde-json-wasm v0.5.2
[INFO] [stderr]   Downloaded cosmwasm-schema v1.5.8
[INFO] [stderr]   Downloaded cosmwasm-derive v1.5.8
[INFO] [stderr]   Downloaded cw2 v1.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c67f22839ffb7cf9d5bf22078dc0a8d14ecb0ac388d0538614f4096dc3027b55
[INFO] running `Command { std: "docker" "start" "-a" "c67f22839ffb7cf9d5bf22078dc0a8d14ecb0ac388d0538614f4096dc3027b55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c67f22839ffb7cf9d5bf22078dc0a8d14ecb0ac388d0538614f4096dc3027b55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c67f22839ffb7cf9d5bf22078dc0a8d14ecb0ac388d0538614f4096dc3027b55", kill_on_drop: false }`
[INFO] [stdout] c67f22839ffb7cf9d5bf22078dc0a8d14ecb0ac388d0538614f4096dc3027b55
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 113b70b2ee2897f2e1c3187c8aebd6d6ac330f5c3b63a7b5e9fa2b2ea6eb0cf4
[INFO] running `Command { std: "docker" "start" "-a" "113b70b2ee2897f2e1c3187c8aebd6d6ac330f5c3b63a7b5e9fa2b2ea6eb0cf4", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling libc v0.2.162
[INFO] [stderr]    Compiling serde v1.0.214
[INFO] [stderr]     Checking der v0.7.9
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]     Checking cpufeatures v0.2.14
[INFO] [stderr]    Compiling serde_json v1.0.132
[INFO] [stderr]    Compiling schemars v0.8.21
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking dyn-clone v1.0.17
[INFO] [stderr]     Checking bech32 v0.9.1
[INFO] [stderr]     Checking bnum v0.10.0
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]    Compiling anyhow v1.0.93
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]     Checking bytes v1.8.0
[INFO] [stderr]     Checking bech32 v0.11.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking curve25519-dalek v3.2.0
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking ahash v0.7.8
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking ff v0.13.0
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking k256 v0.13.4
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling serde_derive v1.0.214
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling prost-derive v0.12.6
[INFO] [stderr]    Compiling schemars_derive v0.8.21
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling cosmwasm-derive v1.5.8
[INFO] [stderr]    Compiling cosmwasm-schema-derive v1.5.8
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking prost v0.12.6
[INFO] [stderr]     Checking ed25519-zebra v3.1.0
[INFO] [stderr]     Checking serde-json-wasm v0.5.2
[INFO] [stderr]     Checking cosmwasm-crypto v1.5.8
[INFO] [stderr]     Checking cosmwasm-std v1.5.8
[INFO] [stderr]     Checking cosmwasm-schema v1.5.8
[INFO] [stderr]     Checking cw-storage-plus v1.2.0
[INFO] [stderr]     Checking cosmwasm-storage v1.5.2
[INFO] [stderr]     Checking cw2 v1.1.2
[INFO] [stderr]     Checking cw-utils v1.0.3
[INFO] [stderr]     Checking cw20 v1.1.2
[INFO] [stderr]     Checking cw-multi-test v1.2.0
[INFO] [stderr]     Checking cw20-base v1.1.2
[INFO] [stderr]     Checking staking v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/contract.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Add;
[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: `Uint64`
[INFO] [stdout]  --> src/contract.rs:5:122
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cosmwasm_std::{to_json_binary, Addr, Binary, Decimal, Deps, DepsMut, Env, MessageInfo, Response, StdResult, Uint128, Uint64, WasmMsg};
[INFO] [stdout]   |                                                                                                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cw20QueryMsg`
[INFO] [stdout]  --> src/contract.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use cw20::{Cw20ExecuteMsg, Cw20QueryMsg, Cw20ReceiveMsg};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `execute_decrease_allowance` and `execute_increase_allowance`
[INFO] [stdout]  --> src/contract.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cw20_base::allowances::{execute_decrease_allowance, execute_increase_allowance};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/contract.rs:128:64
[INFO] [stdout]     |
[INFO] [stdout] 128 |         exchange_rate: old_exchange_rate + Decimal::from_ratio((new_reward_per_second * delta_time * DECIMAL), total_staked),
[INFO] [stdout]     |                                                                ^                                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 -         exchange_rate: old_exchange_rate + Decimal::from_ratio((new_reward_per_second * delta_time * DECIMAL), total_staked),
[INFO] [stdout] 128 +         exchange_rate: old_exchange_rate + Decimal::from_ratio(new_reward_per_second * delta_time * DECIMAL , total_staked),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/contract.rs:171:70
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio((reward_per_second * delta_time*DECIMAL),new_total_staked);
[INFO] [stdout]     |                                                                      ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 171 -     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio((reward_per_second * delta_time*DECIMAL),new_total_staked);
[INFO] [stdout] 171 +     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio(reward_per_second * delta_time*DECIMAL ,new_total_staked);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/contract.rs:265:70
[INFO] [stdout]     |
[INFO] [stdout] 265 |     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio((reward_per_second * delta_time*DECIMAL),new_total_staked);
[INFO] [stdout]     |                                                                      ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 265 -     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio((reward_per_second * delta_time*DECIMAL),new_total_staked);
[INFO] [stdout] 265 +     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio(reward_per_second * delta_time*DECIMAL ,new_total_staked);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/contract.rs:345:70
[INFO] [stdout]     |
[INFO] [stdout] 345 |     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio((reward_per_second * delta_time * DECIMAL), new_total_staked);
[INFO] [stdout]     |                                                                      ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 345 -     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio((reward_per_second * delta_time * DECIMAL), new_total_staked);
[INFO] [stdout] 345 +     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio(reward_per_second * delta_time * DECIMAL , new_total_staked);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CustomQuery`, `QuerierWrapper`, `Querier`, and `WasmQuery`
[INFO] [stdout]  --> src/helpers.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 |     to_json_binary, Addr, CosmosMsg, CustomQuery, Querier, QuerierWrapper, StdResult, WasmMsg,
[INFO] [stdout]   |                                      ^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     WasmQuery,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueryMsg`
[INFO] [stdout]  --> src/helpers.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::msg::{ExecuteMsg,  QueryMsg};
[INFO] [stdout]   |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `QueryResponses` and `cw_serde`
[INFO] [stdout]  --> src/msg.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use cosmwasm_schema::{cw_serde, QueryResponses};
[INFO] [stdout]   |                       ^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Expiration`
[INFO] [stdout]  --> src/msg.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use cw20::{Cw20ReceiveMsg, Expiration};
[INFO] [stdout]   |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/contract.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Add;
[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: `Uint64`
[INFO] [stdout]  --> src/contract.rs:5:122
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cosmwasm_std::{to_json_binary, Addr, Binary, Decimal, Deps, DepsMut, Env, MessageInfo, Response, StdResult, Uint128, Uint64, WasmMsg};
[INFO] [stdout]   |                                                                                                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cw20QueryMsg`
[INFO] [stdout]  --> src/contract.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use cw20::{Cw20ExecuteMsg, Cw20QueryMsg, Cw20ReceiveMsg};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `execute_decrease_allowance` and `execute_increase_allowance`
[INFO] [stdout]  --> src/contract.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cw20_base::allowances::{execute_decrease_allowance, execute_increase_allowance};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/contract.rs:128:64
[INFO] [stdout]     |
[INFO] [stdout] 128 |         exchange_rate: old_exchange_rate + Decimal::from_ratio((new_reward_per_second * delta_time * DECIMAL), total_staked),
[INFO] [stdout]     |                                                                ^                                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 -         exchange_rate: old_exchange_rate + Decimal::from_ratio((new_reward_per_second * delta_time * DECIMAL), total_staked),
[INFO] [stdout] 128 +         exchange_rate: old_exchange_rate + Decimal::from_ratio(new_reward_per_second * delta_time * DECIMAL , total_staked),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/contract.rs:171:70
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio((reward_per_second * delta_time*DECIMAL),new_total_staked);
[INFO] [stdout]     |                                                                      ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 171 -     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio((reward_per_second * delta_time*DECIMAL),new_total_staked);
[INFO] [stdout] 171 +     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio(reward_per_second * delta_time*DECIMAL ,new_total_staked);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/contract.rs:265:70
[INFO] [stdout]     |
[INFO] [stdout] 265 |     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio((reward_per_second * delta_time*DECIMAL),new_total_staked);
[INFO] [stdout]     |                                                                      ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 265 -     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio((reward_per_second * delta_time*DECIMAL),new_total_staked);
[INFO] [stdout] 265 +     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio(reward_per_second * delta_time*DECIMAL ,new_total_staked);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/contract.rs:345:70
[INFO] [stdout]     |
[INFO] [stdout] 345 |     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio((reward_per_second * delta_time * DECIMAL), new_total_staked);
[INFO] [stdout]     |                                                                      ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 345 -     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio((reward_per_second * delta_time * DECIMAL), new_total_staked);
[INFO] [stdout] 345 +     let new_exchange_rate = last_exchange_rate + Decimal::from_ratio(reward_per_second * delta_time * DECIMAL , new_total_staked);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CustomQuery`, `QuerierWrapper`, `Querier`, and `WasmQuery`
[INFO] [stdout]  --> src/helpers.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 |     to_json_binary, Addr, CosmosMsg, CustomQuery, Querier, QuerierWrapper, StdResult, WasmMsg,
[INFO] [stdout]   |                                      ^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     WasmQuery,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueryMsg`
[INFO] [stdout]  --> src/helpers.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::msg::{ExecuteMsg,  QueryMsg};
[INFO] [stdout]   |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `QueryResponses` and `cw_serde`
[INFO] [stdout]  --> src/msg.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use cosmwasm_schema::{cw_serde, QueryResponses};
[INFO] [stdout]   |                       ^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Expiration`
[INFO] [stdout]  --> src/msg.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use cw20::{Cw20ReceiveMsg, Expiration};
[INFO] [stdout]   |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Addr`, `coins`, and `from_json`
[INFO] [stdout]  --> src/test.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use cosmwasm_std::{attr, coins, from_json, Addr, Uint128};
[INFO] [stdout]   |                          ^^^^^  ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CONFIG`, `Config`, `ExchangeRate`, `REWARD_PER_SECOND`, `RewardPerSecond`, `USER_REWARD`, `USER_STAKED`, `UserReward`, and `UserStaked`
[INFO] [stdout]  --> src/test.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | ...::{Config, RewardPerSecond, TotalStaked, UserStaked, UserReward, ExchangeRate, CONFIG, REWARD_PER_SECOND, TOTAL_STAKED, USER_STAKED, USER_REWARD, E...
[INFO] [stdout]   |       ^^^^^^  ^^^^^^^^^^^^^^^               ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^                ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `och_token`
[INFO] [stdout]   --> src/contract.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let och_token = config.och_token.to_string();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_och_token`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contract_addr`
[INFO] [stdout]    --> src/contract.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |     let contract_addr = config.contract_addr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contract_addr`
[INFO] [stdout]    --> src/contract.rs:304:9
[INFO] [stdout]     |
[INFO] [stdout] 304 |     let contract_addr = config.contract_addr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contract_addr_clone`
[INFO] [stdout]    --> src/contract.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |     let contract_addr_clone = env.contract.address.to_string();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_addr_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTRACT_NAME` is never used
[INFO] [stdout]   --> src/contract.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const CONTRACT_NAME: &str = "crates.io:staking";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTRACT_VERSION` is never used
[INFO] [stdout]   --> src/contract.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const CONTRACT_VERSION: &str = env!("CARGO_PKG_VERSION");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `och_token`
[INFO] [stdout]   --> src/contract.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let och_token = config.och_token.to_string();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_och_token`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contract_addr`
[INFO] [stdout]    --> src/contract.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |     let contract_addr = config.contract_addr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contract_addr`
[INFO] [stdout]    --> src/contract.rs:304:9
[INFO] [stdout]     |
[INFO] [stdout] 304 |     let contract_addr = config.contract_addr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contract_addr_clone`
[INFO] [stdout]    --> src/contract.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |     let contract_addr_clone = env.contract.address.to_string();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contract_addr_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueryMsg`
[INFO] [stdout]  --> src/bin/schema.rs:3:48
[INFO] [stdout]   |
[INFO] [stdout] 3 | use staking::msg::{ExecuteMsg, InstantiateMsg, QueryMsg};
[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: `QueryMsg`
[INFO] [stdout]  --> src/bin/schema.rs:3:48
[INFO] [stdout]   |
[INFO] [stdout] 3 | use staking::msg::{ExecuteMsg, InstantiateMsg, QueryMsg};
[INFO] [stdout]   |                                                ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTRACT_NAME` is never used
[INFO] [stdout]   --> src/contract.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const CONTRACT_NAME: &str = "crates.io:staking";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTRACT_VERSION` is never used
[INFO] [stdout]   --> src/contract.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const CONTRACT_VERSION: &str = env!("CARGO_PKG_VERSION");
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.25s
[INFO] running `Command { std: "docker" "inspect" "113b70b2ee2897f2e1c3187c8aebd6d6ac330f5c3b63a7b5e9fa2b2ea6eb0cf4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "113b70b2ee2897f2e1c3187c8aebd6d6ac330f5c3b63a7b5e9fa2b2ea6eb0cf4", kill_on_drop: false }`
[INFO] [stdout] 113b70b2ee2897f2e1c3187c8aebd6d6ac330f5c3b63a7b5e9fa2b2ea6eb0cf4
