[INFO] fetching crate emerald-vault 0.33.0...
[INFO] testing emerald-vault-0.33.0 against 1.75.0 for beta-1.76-1
[INFO] extracting crate emerald-vault 0.33.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate emerald-vault 0.33.0 on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate emerald-vault 0.33.0
[INFO] finished tweaking crates.io crate emerald-vault 0.33.0
[INFO] tweaked toml for crates.io crate emerald-vault 0.33.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ethers-derive-eip712 v1.0.2
[INFO] [stderr]   Downloaded block-modes v0.9.1
[INFO] [stderr]   Downloaded clippy v0.0.302
[INFO] [stderr]   Downloaded byte-array-struct v0.2.0
[INFO] [stderr]   Downloaded simple_logger v4.3.3
[INFO] [stderr]   Downloaded argon2 v0.4.1
[INFO] [stderr]   Downloaded hdpath v0.6.3
[INFO] [stderr]   Downloaded hidapi v2.4.1
[INFO] [stderr]   Downloaded emerald-hwkey v0.5.0
[INFO] [stderr]   Downloaded protobuf v2.25.2
[INFO] [stderr]   Downloaded quickcheck v0.9.2
[INFO] [stderr]   Downloaded rust-argon2 v0.8.3
[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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0c9b21bbfc6702aeed95796e16a0dcf4ad06976fc7bda4b8008222c9de4a8965
[INFO] running `Command { std: "docker" "start" "-a" "0c9b21bbfc6702aeed95796e16a0dcf4ad06976fc7bda4b8008222c9de4a8965", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0c9b21bbfc6702aeed95796e16a0dcf4ad06976fc7bda4b8008222c9de4a8965", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0c9b21bbfc6702aeed95796e16a0dcf4ad06976fc7bda4b8008222c9de4a8965", kill_on_drop: false }`
[INFO] [stdout] 0c9b21bbfc6702aeed95796e16a0dcf4ad06976fc7bda4b8008222c9de4a8965
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ddd482789ab4da8a5016f8583b9cb6894fbe62b8c36d308f213540c92ac7bb60
[INFO] running `Command { std: "docker" "start" "-a" "ddd482789ab4da8a5016f8583b9cb6894fbe62b8c36d308f213540c92ac7bb60", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.75
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling subtle v2.5.0
[INFO] [stderr]    Compiling libc v0.2.151
[INFO] [stderr]    Compiling serde v1.0.194
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling winnow v0.5.32
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling zeroize v1.7.0
[INFO] [stderr]    Compiling rustc-hex v2.1.0
[INFO] [stderr]    Compiling getrandom v0.2.11
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling byte-slice-cast v1.2.2
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling arrayvec v0.7.4
[INFO] [stderr]    Compiling der v0.6.1
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling base16ct v0.1.1
[INFO] [stderr]    Compiling base64ct v1.6.0
[INFO] [stderr]    Compiling cpufeatures v0.2.12
[INFO] [stderr]    Compiling serde_json v1.0.111
[INFO] [stderr]    Compiling keccak v0.1.4
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling thiserror v1.0.56
[INFO] [stderr]    Compiling indexmap v2.1.0
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling uint v0.9.5
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling camino v1.1.6
[INFO] [stderr]    Compiling semver v1.0.21
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling spki v0.6.0
[INFO] [stderr]    Compiling fixed-hash v0.8.0
[INFO] [stderr]    Compiling pkcs8 v0.9.0
[INFO] [stderr]    Compiling ff v0.12.1
[INFO] [stderr]    Compiling group v0.12.1
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling pkg-config v0.3.28
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling miniz_oxide v0.7.1
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-bigint v0.4.9
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling inout v0.1.3
[INFO] [stderr]    Compiling sec1 v0.3.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling toml_edit v0.20.2
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling signature v1.6.4
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling bitcoin_hashes v0.11.0
[INFO] [stderr]    Compiling unicode-segmentation v1.10.1
[INFO] [stderr]    Compiling rfc6979 v0.3.1
[INFO] [stderr]    Compiling elliptic-curve v0.12.3
[INFO] [stderr]    Compiling secp256k1-sys v0.6.1
[INFO] [stderr]    Compiling regex-automata v0.4.3
[INFO] [stderr]    Compiling hidapi v2.4.1
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling ecdsa v0.14.8
[INFO] [stderr]    Compiling flate2 v1.0.28
[INFO] [stderr]    Compiling password-hash v0.4.2
[INFO] [stderr]    Compiling bech32 v0.9.1
[INFO] [stderr]    Compiling chrono v0.4.31
[INFO] [stderr]    Compiling proc-macro-crate v2.0.1
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling k256 v0.11.6
[INFO] [stderr]    Compiling fdeflate v0.3.3
[INFO] [stderr]    Compiling emerald-hwkey v0.5.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.59
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling protobuf v2.25.2
[INFO] [stderr]    Compiling png v0.17.10
[INFO] [stderr]    Compiling deranged v0.3.11
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling pbkdf2 v0.11.0
[INFO] [stderr]    Compiling salsa20 v0.10.2
[INFO] [stderr]    Compiling ripemd v0.1.3
[INFO] [stderr]    Compiling blake2 v0.10.6
[INFO] [stderr]    Compiling num-complex v0.4.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling csv-core v0.1.11
[INFO] [stderr]    Compiling emerald-vault v0.33.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling jpeg-decoder v0.3.0
[INFO] [stderr]    Compiling serde_derive v1.0.194
[INFO] [stderr]    Compiling thiserror-impl v1.0.56
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling bytemuck v1.14.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling time v0.3.31
[INFO] [stderr]    Compiling num v0.4.1
[INFO] [stderr]    Compiling argon2 v0.4.1
[INFO] [stderr]    Compiling scrypt v0.10.0
[INFO] [stderr]    Compiling zip v0.6.6
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling aes v0.8.3
[INFO] [stderr]    Compiling block-modes v0.9.1
[INFO] [stderr]    Compiling image v0.24.7
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling secp256k1 v0.24.3
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling bitcoin v0.29.2
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling parity-scale-codec-derive v3.6.9
[INFO] [stderr]    Compiling impl-trait-for-tuples v0.2.2
[INFO] [stderr]    Compiling scale-info-derive v2.10.0
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling auto_impl v1.1.0
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]    Compiling rlp-derive v0.1.0
[INFO] [stderr]    Compiling enum-display-derive v0.1.1
[INFO] [stderr]    Compiling strum v0.24.1
[INFO] [stderr]    Compiling hdpath v0.6.3
[INFO] [stderr]    Compiling futures-executor v0.3.30
[INFO] [stderr]    Compiling futures v0.3.30
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling parity-scale-codec v3.6.9
[INFO] [stderr]    Compiling impl-serde v0.4.0
[INFO] [stderr]    Compiling cargo-platform v0.1.6
[INFO] [stderr]    Compiling uuid v1.6.1
[INFO] [stderr]    Compiling csv v1.3.0
[INFO] [stderr]    Compiling rlp v0.5.2
[INFO] [stderr]    Compiling open-fastrlp-derive v0.1.1
[INFO] [stderr]    Compiling impl-rlp v0.3.0
[INFO] [stderr]    Compiling scale-info v2.10.0
[INFO] [stderr]    Compiling impl-codec v0.6.0
[INFO] [stderr]    Compiling cargo_metadata v0.15.4
[INFO] [stderr]    Compiling byte-array-struct v0.2.0
[INFO] [stderr]    Compiling primitive-types v0.12.2
[INFO] [stderr]    Compiling ethbloom v0.13.0
[INFO] [stderr]    Compiling ethereum-types v0.14.1
[INFO] [stderr]    Compiling open-fastrlp v0.1.4
[INFO] [stderr]    Compiling ethabi v18.0.0
[INFO] [stderr]    Compiling ethers-core v1.0.2
[INFO] [stderr]    Compiling ethers-derive-eip712 v1.0.2
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]   --> src/lib.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | extern crate bitcoin;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the name `bitcoin` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]   --> src/lib.rs:74:16
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub use self::{blockchain::*, util::*};
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]   --> src/lib.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | extern crate bitcoin;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GlobalKeyRef`
[INFO] [stdout]   --> src/crypto/pk.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::structs::crypto::{GlobalKey, GlobalKeyRef};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SeedSource`, `crypto::Encrypted`, `mnemonic::Mnemonic`
[INFO] [stdout]  --> src/crypto/seed.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     mnemonic::Mnemonic,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     structs::{
[INFO] [stdout] 4 |         crypto::Encrypted,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |         seed::{Seed, SeedSource},
[INFO] [stdout]   |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> src/crypto/seed.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/crypto/seed.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::structs::crypto::GlobalKey`
[INFO] [stdout]   --> src/crypto/seed.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::structs::crypto::GlobalKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OpenOptions`
[INFO] [stdout]   --> src/storage/addressbook.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fs::{File, OpenOptions},
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::AddressRef`
[INFO] [stdout]   --> src/storage/vault.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         book::AddressRef,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/storage/global_key.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GlobalKeyRef`
[INFO] [stdout]  --> src/storage/global_key.rs:8:52
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::structs::crypto::{Encrypted, GlobalKey, GlobalKeyRef};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::structs::pk::PrivateKeyHolder`
[INFO] [stdout]  --> src/storage/admin.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::structs::pk::PrivateKeyHolder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeZone`
[INFO] [stdout]   --> src/storage/watch.rs:10:49
[INFO] [stdout]    |
[INFO] [stdout] 10 | use chrono::{DateTime, Duration, NaiveDateTime, TimeZone, Utc};
[INFO] [stdout]    |                                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::RngCore`
[INFO] [stdout]  --> src/structs/crypto.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::RngCore;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::OsRng`
[INFO] [stdout]  --> src/structs/crypto.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::rngs::OsRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::error::CryptoError`
[INFO] [stdout]  --> src/structs/crypto.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::crypto::error::CryptoError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> src/structs/seed.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/book.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use protobuf::{parse_from_bytes, Message};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/book.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let m = parse_from_bytes::<proto_BookItem>(value)?;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/pk.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 19 | use protobuf::{parse_from_bytes, Message};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/pk.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let m = parse_from_bytes::<proto_PrivateKey>(data)?;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/seed.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 | use protobuf::{parse_from_bytes, Message};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]    --> src/convert/proto/seed.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let m = parse_from_bytes::<proto_Seed>(data)?;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/wallet.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 | use protobuf::{parse_from_bytes, Message};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:129:17
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let m = parse_from_bytes::<proto_Wallet>(value)?;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stdout]   --> src/storage.rs:77:31
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let mut config_dir = env::home_dir().expect("Expect path to home dir");
[INFO] [stdout]    |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `crypto::encrypted::<impl structs::crypto::Encrypted>::encrypt_ethereum`
[INFO] [stdout]    --> src/convert/json/keyfile.rs:362:36
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let encrypted = Encrypted::encrypt_ethereum(pk.to_vec(), password.as_bytes())?;
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/convert/proto/book.rs:38:36
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/convert/proto/pk.rs:45:44
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/seed.rs:120:36
[INFO] [stdout]     |
[INFO] [stdout] 120 |             .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/convert/proto/wallet.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let created_at = Utc.timestamp_millis(value.get_created_at() as i64);
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:149:36
[INFO] [stdout]     |
[INFO] [stdout] 149 |             .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/storage/watch.rs:116:37
[INFO] [stdout]     |
[INFO] [stdout] 116 |             last_refresh: DateTime::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc),
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/storage/watch.rs:116:61
[INFO] [stdout]     |
[INFO] [stdout] 116 |             last_refresh: DateTime::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc),
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]  --> src/structs/utils.rs:4:49
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub static ref ZERO_TS: DateTime<Utc> = Utc.timestamp_millis(100);
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::Digest`
[INFO] [stdout]  --> src/structs/seed.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use sha2::Digest;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hmac::digest::Digest`
[INFO] [stdout]  --> src/crypto/fingerprint.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hmac::digest::Digest;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/convert/proto/crypto.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut proto_key: proto_Encrypted = proto_Encrypted::try_from(&value.key)?;
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mnemonic.rs:289:9
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let mut rng = OsRng::default();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `archive`
[INFO] [stdout]    --> src/storage/addressbook.rs:229:55
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn update_multiple(&self, entry: AddressBookmark, archive: &Archive) -> Result<bool, VaultError> {
[INFO] [stdout]     |                                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_archive`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `language` is never read
[INFO] [stdout]   --> src/mnemonic.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Mnemonic {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 44 |     language: Language,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mnemonic` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `base_dir` is never read
[INFO] [stdout]   --> src/storage.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Storages {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 65 |     /// base dir
[INFO] [stdout] 66 |     base_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Storages` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `keys` and `global` are never read
[INFO] [stdout]    --> src/storage/vault.rs:386:5
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub struct CreateWallet {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 385 |     storage: Arc<VaultStorage>,
[INFO] [stdout] 386 |     keys: Arc<dyn VaultAccessByFile<PrivateKeyHolder>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     global: Option<GlobalKey>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create` is never used
[INFO] [stdout]    --> src/structs/crypto.rs:142:19
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl GlobalKeyRef {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub(crate) fn create(nonce: Vec<u8>) -> Result<GlobalKeyRef, VaultError> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Uuid` instead of cloning the inner type
[INFO] [stdout]    --> src/storage/vault.rs:257:28
[INFO] [stdout]     |
[INFO] [stdout] 257 |             .filter(|id| id.clone().ne(&wallet_id))
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 38.65s
[INFO] running `Command { std: "docker" "inspect" "ddd482789ab4da8a5016f8583b9cb6894fbe62b8c36d308f213540c92ac7bb60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ddd482789ab4da8a5016f8583b9cb6894fbe62b8c36d308f213540c92ac7bb60", kill_on_drop: false }`
[INFO] [stdout] ddd482789ab4da8a5016f8583b9cb6894fbe62b8c36d308f213540c92ac7bb60
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 963b2127ee33efac36de216f710f3c32c34c56a2f26929324dc88dcc26a96fa1
[INFO] running `Command { std: "docker" "start" "-a" "963b2127ee33efac36de216f710f3c32c34c56a2f26929324dc88dcc26a96fa1", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling time-macros v0.2.16
[INFO] [stderr]    Compiling colored v2.1.0
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling bencher v0.1.5
[INFO] [stderr]    Compiling emerald-hwkey v0.5.0
[INFO] [stderr]    Compiling env_logger v0.7.1
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling time v0.3.31
[INFO] [stderr]    Compiling quickcheck v0.9.2
[INFO] [stderr]    Compiling simple_logger v4.3.3
[INFO] [stderr]    Compiling emerald-vault v0.33.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]   --> src/lib.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | extern crate bitcoin;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the name `bitcoin` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]   --> src/lib.rs:74:16
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub use self::{blockchain::*, util::*};
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]   --> src/lib.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | extern crate bitcoin;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GlobalKeyRef`
[INFO] [stdout]   --> src/crypto/pk.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::structs::crypto::{GlobalKey, GlobalKeyRef};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SeedSource`, `crypto::Encrypted`, `mnemonic::Mnemonic`
[INFO] [stdout]  --> src/crypto/seed.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     mnemonic::Mnemonic,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     structs::{
[INFO] [stdout] 4 |         crypto::Encrypted,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |         seed::{Seed, SeedSource},
[INFO] [stdout]   |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> src/crypto/seed.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/crypto/seed.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::structs::crypto::GlobalKey`
[INFO] [stdout]   --> src/crypto/seed.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::structs::crypto::GlobalKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OpenOptions`
[INFO] [stdout]   --> src/storage/addressbook.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fs::{File, OpenOptions},
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::AddressRef`
[INFO] [stdout]   --> src/storage/vault.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         book::AddressRef,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/storage/global_key.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GlobalKeyRef`
[INFO] [stdout]  --> src/storage/global_key.rs:8:52
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::structs::crypto::{Encrypted, GlobalKey, GlobalKeyRef};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::structs::pk::PrivateKeyHolder`
[INFO] [stdout]  --> src/storage/admin.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::structs::pk::PrivateKeyHolder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeZone`
[INFO] [stdout]   --> src/storage/watch.rs:10:49
[INFO] [stdout]    |
[INFO] [stdout] 10 | use chrono::{DateTime, Duration, NaiveDateTime, TimeZone, Utc};
[INFO] [stdout]    |                                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::RngCore`
[INFO] [stdout]  --> src/structs/crypto.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::RngCore;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::OsRng`
[INFO] [stdout]  --> src/structs/crypto.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::rngs::OsRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::error::CryptoError`
[INFO] [stdout]  --> src/structs/crypto.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::crypto::error::CryptoError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> src/structs/seed.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/book.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use protobuf::{parse_from_bytes, Message};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/book.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let m = parse_from_bytes::<proto_BookItem>(value)?;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/pk.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 19 | use protobuf::{parse_from_bytes, Message};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/pk.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let m = parse_from_bytes::<proto_PrivateKey>(data)?;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/seed.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 | use protobuf::{parse_from_bytes, Message};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]    --> src/convert/proto/seed.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let m = parse_from_bytes::<proto_Seed>(data)?;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/wallet.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 | use protobuf::{parse_from_bytes, Message};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:129:17
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let m = parse_from_bytes::<proto_Wallet>(value)?;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stdout]   --> src/storage.rs:77:31
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let mut config_dir = env::home_dir().expect("Expect path to home dir");
[INFO] [stdout]    |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `crypto::encrypted::<impl structs::crypto::Encrypted>::encrypt_ethereum`
[INFO] [stdout]    --> src/convert/json/keyfile.rs:362:36
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let encrypted = Encrypted::encrypt_ethereum(pk.to_vec(), password.as_bytes())?;
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/convert/proto/book.rs:38:36
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/convert/proto/pk.rs:45:44
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/seed.rs:120:36
[INFO] [stdout]     |
[INFO] [stdout] 120 |             .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/convert/proto/wallet.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let created_at = Utc.timestamp_millis(value.get_created_at() as i64);
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:149:36
[INFO] [stdout]     |
[INFO] [stdout] 149 |             .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]   --> src/lib.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | extern crate bitcoin;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the name `bitcoin` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]   --> src/lib.rs:74:16
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub use self::{blockchain::*, util::*};
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]   --> src/lib.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | extern crate bitcoin;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::tests::*`
[INFO] [stdout]    --> src/util.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub use self::tests::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryInto`
[INFO] [stdout]    --> src/convert/proto/crypto.rs:273:33
[INFO] [stdout]     |
[INFO] [stdout] 273 |     use std::convert::{TryFrom, TryInto};
[INFO] [stdout]     |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GlobalKeyRef`
[INFO] [stdout]    --> src/convert/proto/seed.rs:168:33
[INFO] [stdout]     |
[INFO] [stdout] 168 |             crypto::{GlobalKey, GlobalKeyRef, Encrypted},
[INFO] [stdout]     |                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GlobalKeyRef`
[INFO] [stdout]   --> src/crypto/pk.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::structs::crypto::{GlobalKey, GlobalKeyRef};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PRIVATE_KEY_BYTES`
[INFO] [stdout]   --> src/sign/bip32.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         PRIVATE_KEY_BYTES,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LedgerSource`
[INFO] [stdout]    --> src/sign/ethereum.rs:168:20
[INFO] [stdout]     |
[INFO] [stdout] 168 |             seed::{LedgerSource, Seed, SeedRef, SeedSource},
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `read_test_txes`
[INFO] [stdout]    --> src/sign/ethereum.rs:185:24
[INFO] [stdout]     |
[INFO] [stdout] 185 |     use crate::tests::{read_test_txes};
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LedgerSource`
[INFO] [stdout]    --> src/sign/key_source.rs:245:32
[INFO] [stdout]     |
[INFO] [stdout] 245 |     use crate::structs::seed::{LedgerSource, SeedSource};
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]    --> src/sign/key_source.rs:248:21
[INFO] [stdout]     |
[INFO] [stdout] 248 |     use std::sync::{Arc, Mutex};
[INFO] [stdout]     |                     ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]    --> src/sign/key_source.rs:249:9
[INFO] [stdout]     |
[INFO] [stdout] 249 |     use std::thread;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]    --> src/sign/key_source.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |     use std::time::Duration;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OpenOptions`
[INFO] [stdout]   --> src/storage/addressbook.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fs::{File, OpenOptions},
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddressBookmark`, `EthereumAddress`
[INFO] [stdout]    --> src/storage/addressbook.rs:239:27
[INFO] [stdout]     |
[INFO] [stdout] 239 |             addressbook::{AddressBookmark, AddressbookStorage},
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |         EthereumAddress,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]    --> src/storage/addressbook.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |     use chrono::Utc;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tempdir::TempDir`
[INFO] [stdout]    --> src/storage/addressbook.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |     use tempdir::TempDir;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::AddressRef`
[INFO] [stdout]   --> src/storage/vault.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         book::AddressRef,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/storage/global_key.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GlobalKeyRef`
[INFO] [stdout]  --> src/storage/global_key.rs:8:52
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::structs::crypto::{Encrypted, GlobalKey, GlobalKeyRef};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::structs::pk::PrivateKeyHolder`
[INFO] [stdout]  --> src/storage/admin.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::structs::pk::PrivateKeyHolder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeZone`
[INFO] [stdout]   --> src/storage/watch.rs:10:49
[INFO] [stdout]    |
[INFO] [stdout] 10 | use chrono::{DateTime, Duration, NaiveDateTime, TimeZone, Utc};
[INFO] [stdout]    |                                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::stdin`
[INFO] [stdout]    --> src/storage/watch.rs:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |     use std::io::stdin;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tempdir::TempDir`
[INFO] [stdout]    --> src/storage/watch.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |     use tempdir::TempDir;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::chains::Blockchain`
[INFO] [stdout]    --> src/storage/watch.rs:310:9
[INFO] [stdout]     |
[INFO] [stdout] 310 |     use crate::chains::Blockchain;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::storage::vault::VaultStorage`
[INFO] [stdout]    --> src/storage/watch.rs:311:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |     use crate::storage::vault::VaultStorage;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::storage::watch::Request`
[INFO] [stdout]    --> src/storage/watch.rs:312:9
[INFO] [stdout]     |
[INFO] [stdout] 312 |     use crate::storage::watch::Request;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tests::init_tests`
[INFO] [stdout]    --> src/storage/watch.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |     use crate::tests::init_tests;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::RngCore`
[INFO] [stdout]  --> src/structs/crypto.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::RngCore;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::OsRng`
[INFO] [stdout]  --> src/structs/crypto.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::rngs::OsRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::error::CryptoError`
[INFO] [stdout]  --> src/structs/crypto.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::crypto::error::CryptoError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> src/structs/seed.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FromHex`, `ToHex`
[INFO] [stdout]   --> src/lib.rs:87:19
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub use hex::{FromHex, ToHex};
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/book.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use protobuf::{parse_from_bytes, Message};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/book.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let m = parse_from_bytes::<proto_BookItem>(value)?;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/book.rs:89:20
[INFO] [stdout]    |
[INFO] [stdout] 89 |     use protobuf::{parse_from_bytes, Message};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]    --> src/convert/proto/book.rs:110:19
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let act = parse_from_bytes::<proto_BootItem>(b.as_slice()).unwrap();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/pk.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 19 | use protobuf::{parse_from_bytes, Message};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/pk.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let m = parse_from_bytes::<proto_PrivateKey>(data)?;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]    --> src/convert/proto/pk.rs:103:20
[INFO] [stdout]     |
[INFO] [stdout] 103 |     use protobuf::{parse_from_bytes, Message, ProtobufEnum};
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]    --> src/convert/proto/pk.rs:118:19
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let act = parse_from_bytes::<proto_PrivateKey>(b.as_slice()).unwrap();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]    --> src/convert/proto/pk.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let mut m = parse_from_bytes::<proto_PrivateKey>(tmp.as_slice()).unwrap();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/seed.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 | use protobuf::{parse_from_bytes, Message};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]    --> src/convert/proto/seed.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let m = parse_from_bytes::<proto_Seed>(data)?;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]    --> src/convert/proto/seed.rs:173:20
[INFO] [stdout]     |
[INFO] [stdout] 173 |     use protobuf::{parse_from_bytes, Message, ProtobufEnum};
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]    --> src/convert/proto/seed.rs:192:19
[INFO] [stdout]     |
[INFO] [stdout] 192 |         let act = parse_from_bytes::<proto_Seed>(b.as_slice()).unwrap();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]   --> src/convert/proto/wallet.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 | use protobuf::{parse_from_bytes, Message};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:129:17
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let m = parse_from_bytes::<proto_Wallet>(value)?;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:244:20
[INFO] [stdout]     |
[INFO] [stdout] 244 |     use protobuf::{parse_from_bytes, Message, ProtobufEnum};
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:281:19
[INFO] [stdout]     |
[INFO] [stdout] 281 |         let act = parse_from_bytes::<proto_Wallet>(b.as_slice()).unwrap();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stdout]   --> src/storage.rs:77:31
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let mut config_dir = env::home_dir().expect("Expect path to home dir");
[INFO] [stdout]    |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/structs/utils.rs:49:27
[INFO] [stdout]    |
[INFO] [stdout] 49 |         chrono::TimeZone::timestamp_millis(&Utc, 0);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/storage/watch.rs:116:37
[INFO] [stdout]     |
[INFO] [stdout] 116 |             last_refresh: DateTime::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc),
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/storage/watch.rs:116:61
[INFO] [stdout]     |
[INFO] [stdout] 116 |             last_refresh: DateTime::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc),
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]  --> src/structs/utils.rs:4:49
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub static ref ZERO_TS: DateTime<Utc> = Utc.timestamp_millis(100);
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::Digest`
[INFO] [stdout]  --> src/structs/seed.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use sha2::Digest;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hmac::digest::Digest`
[INFO] [stdout]  --> src/crypto/fingerprint.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hmac::digest::Digest;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/convert/proto/crypto.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut proto_key: proto_Encrypted = proto_Encrypted::try_from(&value.key)?;
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `crypto::encrypted::<impl structs::crypto::Encrypted>::encrypt_ethereum`
[INFO] [stdout]    --> src/convert/json/keyfile.rs:362:36
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let encrypted = Encrypted::encrypt_ethereum(pk.to_vec(), password.as_bytes())?;
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mnemonic.rs:289:9
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let mut rng = OsRng::default();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/convert/proto/book.rs:38:36
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/book.rs:105:29
[INFO] [stdout]     |
[INFO] [stdout] 105 |             created_at: Utc.timestamp_millis(1592624592679),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/book.rs:129:29
[INFO] [stdout]     |
[INFO] [stdout] 129 |             created_at: Utc.timestamp_millis(1592624592679),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/book.rs:147:29
[INFO] [stdout]     |
[INFO] [stdout] 147 |             created_at: Utc.timestamp_millis(1592624592679),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/convert/proto/pk.rs:45:44
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/pk.rs:114:29
[INFO] [stdout]     |
[INFO] [stdout] 114 |         pk.created_at = Utc.timestamp_millis(1592624592679);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/pk.rs:132:29
[INFO] [stdout]     |
[INFO] [stdout] 132 |         pk.created_at = Utc.timestamp_millis(1592624592679);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/pk.rs:139:40
[INFO] [stdout]     |
[INFO] [stdout] 139 |         assert_eq!(act.created_at, Utc.timestamp_millis(1592624592679));
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/seed.rs:120:36
[INFO] [stdout]     |
[INFO] [stdout] 120 |             .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/seed.rs:187:29
[INFO] [stdout]     |
[INFO] [stdout] 187 |             created_at: Utc.timestamp_millis(1592624592679),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/seed.rs:352:29
[INFO] [stdout]     |
[INFO] [stdout] 352 |             created_at: Utc.timestamp_millis(1592624592679),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/seed.rs:357:45
[INFO] [stdout]     |
[INFO] [stdout] 357 |         assert_eq!(seed_act.created_at, Utc.timestamp_millis(1592624592679));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/convert/proto/wallet.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let created_at = Utc.timestamp_millis(value.get_created_at() as i64);
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:149:36
[INFO] [stdout]     |
[INFO] [stdout] 149 |             .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:257:29
[INFO] [stdout]     |
[INFO] [stdout] 257 |             created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:275:29
[INFO] [stdout]     |
[INFO] [stdout] 275 |             created_at: Utc.timestamp_millis(1592624592679),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:307:33
[INFO] [stdout]     |
[INFO] [stdout] 307 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:311:29
[INFO] [stdout]     |
[INFO] [stdout] 311 |             created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:336:33
[INFO] [stdout]     |
[INFO] [stdout] 336 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:340:29
[INFO] [stdout]     |
[INFO] [stdout] 340 |             created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:370:33
[INFO] [stdout]     |
[INFO] [stdout] 370 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout] 374 |             created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:400:33
[INFO] [stdout]     |
[INFO] [stdout] 400 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:408:29
[INFO] [stdout]     |
[INFO] [stdout] 408 |             created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:435:33
[INFO] [stdout]     |
[INFO] [stdout] 435 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:443:29
[INFO] [stdout]     |
[INFO] [stdout] 443 |             created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:462:29
[INFO] [stdout]     |
[INFO] [stdout] 462 |             created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:493:37
[INFO] [stdout]     |
[INFO] [stdout] 493 |                     created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:503:37
[INFO] [stdout]     |
[INFO] [stdout] 503 |                     created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:507:29
[INFO] [stdout]     |
[INFO] [stdout] 507 |             created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:568:29
[INFO] [stdout]     |
[INFO] [stdout] 568 |             created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/convert/proto/wallet.rs:588:29
[INFO] [stdout]     |
[INFO] [stdout] 588 |             created_at: Utc.timestamp_millis(1592624407736),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `archive`
[INFO] [stdout]    --> src/storage/addressbook.rs:229:55
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn update_multiple(&self, entry: AddressBookmark, archive: &Archive) -> Result<bool, VaultError> {
[INFO] [stdout]     |                                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_archive`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/sign/bitcoin.rs:392:33
[INFO] [stdout]     |
[INFO] [stdout] 392 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/sign/bitcoin.rs:447:33
[INFO] [stdout]     |
[INFO] [stdout] 447 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/sign/bitcoin.rs:534:33
[INFO] [stdout]     |
[INFO] [stdout] 534 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/storage/vault.rs:679:31
[INFO] [stdout]     |
[INFO] [stdout] 679 |         seed.created_at = Utc.timestamp_millis(0);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/storage/vault.rs:696:31
[INFO] [stdout]     |
[INFO] [stdout] 696 |         seed.created_at = Utc.timestamp_millis(0);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/storage/vault.rs:721:31
[INFO] [stdout]     |
[INFO] [stdout] 721 |         seed.created_at = Utc.timestamp_millis(1577962800000);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/storage/vault.rs:726:31
[INFO] [stdout]     |
[INFO] [stdout] 726 |         seed.created_at = Utc.timestamp_millis(0);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/storage/vault.rs:732:31
[INFO] [stdout]     |
[INFO] [stdout] 732 |         seed.created_at = Utc.timestamp_millis(1577876400000);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/storage/vault.rs:737:31
[INFO] [stdout]     |
[INFO] [stdout] 737 |         seed.created_at = Utc.timestamp_millis(0);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/storage/vault.rs:774:33
[INFO] [stdout]     |
[INFO] [stdout] 774 |                 created_at: Utc.timestamp_millis(1577962800000),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/storage/vault.rs:782:33
[INFO] [stdout]     |
[INFO] [stdout] 782 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/storage/vault.rs:791:33
[INFO] [stdout]     |
[INFO] [stdout] 791 |                 created_at: Utc.timestamp_millis(1577876400000),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/storage/vault.rs:799:33
[INFO] [stdout]     |
[INFO] [stdout] 799 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/storage/icons.rs:215:31
[INFO] [stdout]     |
[INFO] [stdout] 215 |         seed.created_at = Utc.timestamp_millis(0);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]    --> src/storage/icons.rs:352:31
[INFO] [stdout]     |
[INFO] [stdout] 352 |         seed.created_at = Utc.timestamp_millis(0);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/storage/watch.rs:116:37
[INFO] [stdout]     |
[INFO] [stdout] 116 |             last_refresh: DateTime::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc),
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/storage/watch.rs:116:61
[INFO] [stdout]     |
[INFO] [stdout] 116 |             last_refresh: DateTime::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc),
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]  --> src/structs/utils.rs:4:49
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub static ref ZERO_TS: DateTime<Utc> = Utc.timestamp_millis(100);
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/structs/utils.rs:52:29
[INFO] [stdout]    |
[INFO] [stdout] 52 |             created_at: Utc.timestamp_millis(100),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/structs/utils.rs:56:29
[INFO] [stdout]    |
[INFO] [stdout] 56 |             created_at: Utc.timestamp_millis(200),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/structs/utils.rs:67:29
[INFO] [stdout]    |
[INFO] [stdout] 67 |             created_at: Utc.timestamp_millis(0),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/structs/utils.rs:71:29
[INFO] [stdout]    |
[INFO] [stdout] 71 |             created_at: Utc.timestamp_millis(200),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/structs/utils.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 |             created_at: Utc.timestamp_millis(0),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stdout]   --> src/structs/utils.rs:86:29
[INFO] [stdout]    |
[INFO] [stdout] 86 |             created_at: Utc.timestamp_millis(200),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::Digest`
[INFO] [stdout]  --> src/structs/seed.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use sha2::Digest;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hmac::digest::Digest`
[INFO] [stdout]  --> src/crypto/fingerprint.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hmac::digest::Digest;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `language` is never read
[INFO] [stdout]   --> src/mnemonic.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Mnemonic {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 44 |     language: Language,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mnemonic` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `base_dir` is never read
[INFO] [stdout]   --> src/storage.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Storages {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 65 |     /// base dir
[INFO] [stdout] 66 |     base_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Storages` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `keys` and `global` are never read
[INFO] [stdout]    --> src/storage/vault.rs:386:5
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub struct CreateWallet {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 385 |     storage: Arc<VaultStorage>,
[INFO] [stdout] 386 |     keys: Arc<dyn VaultAccessByFile<PrivateKeyHolder>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     global: Option<GlobalKey>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create` is never used
[INFO] [stdout]    --> src/structs/crypto.rs:142:19
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl GlobalKeyRef {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub(crate) fn create(nonce: Vec<u8>) -> Result<GlobalKeyRef, VaultError> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Uuid` instead of cloning the inner type
[INFO] [stdout]    --> src/storage/vault.rs:257:28
[INFO] [stdout]     |
[INFO] [stdout] 257 |             .filter(|id| id.clone().ne(&wallet_id))
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/convert/proto/crypto.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut proto_key: proto_Encrypted = proto_Encrypted::try_from(&value.key)?;
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mnemonic.rs:289:9
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let mut rng = OsRng::default();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `archive`
[INFO] [stdout]    --> src/storage/addressbook.rs:229:55
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn update_multiple(&self, entry: AddressBookmark, archive: &Archive) -> Result<bool, VaultError> {
[INFO] [stdout]     |                                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_archive`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]    --> src/storage/global_key.rs:466:13
[INFO] [stdout]     |
[INFO] [stdout] 466 |         let global = Some(global_store.get().unwrap());
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `language` is never read
[INFO] [stdout]   --> src/mnemonic.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Mnemonic {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 44 |     language: Language,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mnemonic` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `base_dir` is never read
[INFO] [stdout]   --> src/storage.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Storages {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 65 |     /// base dir
[INFO] [stdout] 66 |     base_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Storages` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump_file` is never used
[INFO] [stdout]    --> src/storage/addressbook.rs:257:8
[INFO] [stdout]     |
[INFO] [stdout] 257 |     fn dump_file<P>(path: P)
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `keys` and `global` are never read
[INFO] [stdout]    --> src/storage/vault.rs:386:5
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub struct CreateWallet {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 385 |     storage: Arc<VaultStorage>,
[INFO] [stdout] 386 |     keys: Arc<dyn VaultAccessByFile<PrivateKeyHolder>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     global: Option<GlobalKey>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_test_addresses` is never used
[INFO] [stdout]    --> src/lib.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn read_test_addresses() -> Vec<TestAddress> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_test_txes` is never used
[INFO] [stdout]    --> src/lib.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn read_test_txes() -> Vec<TestTx> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/migration.rs:70:51
[INFO] [stdout]    |
[INFO] [stdout] 70 |             for entry in fs::read_dir(dir.as_ref().clone()).unwrap() {
[INFO] [stdout]    |                                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `std::path::Path` does not implement `Clone`, so calling `clone` on `&std::path::Path` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&uuid::Uuid` instead of cloning the inner type
[INFO] [stdout]    --> src/storage/vault.rs:257:28
[INFO] [stdout]     |
[INFO] [stdout] 257 |             .filter(|id| id.clone().ne(&wallet_id))
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 122 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 14.77s
[INFO] running `Command { std: "docker" "inspect" "963b2127ee33efac36de216f710f3c32c34c56a2f26929324dc88dcc26a96fa1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "963b2127ee33efac36de216f710f3c32c34c56a2f26929324dc88dcc26a96fa1", kill_on_drop: false }`
[INFO] [stdout] 963b2127ee33efac36de216f710f3c32c34c56a2f26929324dc88dcc26a96fa1
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 12a7aa77e034a3762adce7100d57684b776edd1a842ae73d8c1479a81b0d49ef
[INFO] running `Command { std: "docker" "start" "-a" "12a7aa77e034a3762adce7100d57684b776edd1a842ae73d8c1479a81b0d49ef", kill_on_drop: false }`
[INFO] [stderr] warning: private item shadows public glob re-export
[INFO] [stderr]   --> src/lib.rs:35:1
[INFO] [stderr]    |
[INFO] [stderr] 35 | extern crate bitcoin;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the name `bitcoin` in the type namespace is supposed to be publicly re-exported here
[INFO] [stderr]   --> src/lib.rs:74:16
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub use self::{blockchain::*, util::*};
[INFO] [stderr]    |                ^^^^^^^^^^^^^
[INFO] [stderr] note: but the private item here shadows it
[INFO] [stderr]   --> src/lib.rs:35:1
[INFO] [stderr]    |
[INFO] [stderr] 35 | extern crate bitcoin;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GlobalKeyRef`
[INFO] [stderr]   --> src/crypto/pk.rs:12:41
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::structs::crypto::{GlobalKey, GlobalKeyRef};
[INFO] [stderr]    |                                         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SeedSource`, `crypto::Encrypted`, `mnemonic::Mnemonic`
[INFO] [stderr]  --> src/crypto/seed.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 |     mnemonic::Mnemonic,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 3 |     structs::{
[INFO] [stderr] 4 |         crypto::Encrypted,
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 5 |         seed::{Seed, SeedSource},
[INFO] [stderr]   |                      ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::Utc`
[INFO] [stderr]  --> src/crypto/seed.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use chrono::Utc;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `uuid::Uuid`
[INFO] [stderr]  --> src/crypto/seed.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use uuid::Uuid;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::structs::crypto::GlobalKey`
[INFO] [stderr]   --> src/crypto/seed.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::structs::crypto::GlobalKey;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `OpenOptions`
[INFO] [stderr]   --> src/storage/addressbook.rs:30:16
[INFO] [stderr]    |
[INFO] [stderr] 30 |     fs::{File, OpenOptions},
[INFO] [stderr]    |                ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `book::AddressRef`
[INFO] [stderr]   --> src/storage/vault.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 |         book::AddressRef,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Path`
[INFO] [stderr]  --> src/storage/global_key.rs:3:17
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::path::{Path, PathBuf};
[INFO] [stderr]   |                 ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GlobalKeyRef`
[INFO] [stderr]  --> src/storage/global_key.rs:8:52
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::structs::crypto::{Encrypted, GlobalKey, GlobalKeyRef};
[INFO] [stderr]   |                                                    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::structs::pk::PrivateKeyHolder`
[INFO] [stderr]  --> src/storage/admin.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::structs::pk::PrivateKeyHolder;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TimeZone`
[INFO] [stderr]   --> src/storage/watch.rs:10:49
[INFO] [stderr]    |
[INFO] [stderr] 10 | use chrono::{DateTime, Duration, NaiveDateTime, TimeZone, Utc};
[INFO] [stderr]    |                                                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::RngCore`
[INFO] [stderr]  --> src/structs/crypto.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rand::RngCore;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::rngs::OsRng`
[INFO] [stderr]  --> src/structs/crypto.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rand::rngs::OsRng;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::crypto::error::CryptoError`
[INFO] [stderr]  --> src/structs/crypto.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::crypto::error::CryptoError;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryFrom`
[INFO] [stderr]  --> src/structs/seed.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::convert::TryFrom;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]   --> src/convert/proto/book.rs:12:16
[INFO] [stderr]    |
[INFO] [stderr] 12 | use protobuf::{parse_from_bytes, Message};
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]   --> src/convert/proto/book.rs:21:17
[INFO] [stderr]    |
[INFO] [stderr] 21 |         let m = parse_from_bytes::<proto_BookItem>(value)?;
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]   --> src/convert/proto/pk.rs:19:16
[INFO] [stderr]    |
[INFO] [stderr] 19 | use protobuf::{parse_from_bytes, Message};
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]   --> src/convert/proto/pk.rs:27:17
[INFO] [stderr]    |
[INFO] [stderr] 27 |         let m = parse_from_bytes::<proto_PrivateKey>(data)?;
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]   --> src/convert/proto/seed.rs:22:16
[INFO] [stderr]    |
[INFO] [stderr] 22 | use protobuf::{parse_from_bytes, Message};
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]    --> src/convert/proto/seed.rs:107:17
[INFO] [stderr]     |
[INFO] [stderr] 107 |         let m = parse_from_bytes::<proto_Seed>(data)?;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]   --> src/convert/proto/wallet.rs:22:16
[INFO] [stderr]    |
[INFO] [stderr] 22 | use protobuf::{parse_from_bytes, Message};
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:129:17
[INFO] [stderr]     |
[INFO] [stderr] 129 |         let m = parse_from_bytes::<proto_Wallet>(value)?;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stderr]   --> src/storage.rs:77:31
[INFO] [stderr]    |
[INFO] [stderr] 77 |     let mut config_dir = env::home_dir().expect("Expect path to home dir");
[INFO] [stderr]    |                               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `crypto::encrypted::<impl structs::crypto::Encrypted>::encrypt_ethereum`
[INFO] [stderr]    --> src/convert/json/keyfile.rs:362:36
[INFO] [stderr]     |
[INFO] [stderr] 362 |         let encrypted = Encrypted::encrypt_ethereum(pk.to_vec(), password.as_bytes())?;
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]   --> src/convert/proto/book.rs:38:36
[INFO] [stderr]    |
[INFO] [stderr] 38 |             .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stderr]    |                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]   --> src/convert/proto/pk.rs:45:44
[INFO] [stderr]    |
[INFO] [stderr] 45 |                     .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/seed.rs:120:36
[INFO] [stderr]     |
[INFO] [stderr] 120 |             .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]   --> src/convert/proto/wallet.rs:63:30
[INFO] [stderr]    |
[INFO] [stderr] 63 |         let created_at = Utc.timestamp_millis(value.get_created_at() as i64);
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:149:36
[INFO] [stderr]     |
[INFO] [stderr] 149 |             .unwrap_or_else(|| Utc.timestamp_millis(0));
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stderr]    --> src/storage/watch.rs:116:37
[INFO] [stderr]     |
[INFO] [stderr] 116 |             last_refresh: DateTime::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc),
[INFO] [stderr]     |                                     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stderr]    --> src/storage/watch.rs:116:61
[INFO] [stderr]     |
[INFO] [stderr] 116 |             last_refresh: DateTime::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc),
[INFO] [stderr]     |                                                             ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]  --> src/structs/utils.rs:4:49
[INFO] [stderr]   |
[INFO] [stderr] 4 |     pub static ref ZERO_TS: DateTime<Utc> = Utc.timestamp_millis(100);
[INFO] [stderr]   |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sha2::Digest`
[INFO] [stderr]  --> src/structs/seed.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use sha2::Digest;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `hmac::digest::Digest`
[INFO] [stderr]  --> src/crypto/fingerprint.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use hmac::digest::Digest;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/convert/proto/crypto.rs:243:13
[INFO] [stderr]     |
[INFO] [stderr] 243 |         let mut proto_key: proto_Encrypted = proto_Encrypted::try_from(&value.key)?;
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/mnemonic.rs:289:9
[INFO] [stderr]     |
[INFO] [stderr] 289 |     let mut rng = OsRng::default();
[INFO] [stderr]     |         ----^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `archive`
[INFO] [stderr]    --> src/storage/addressbook.rs:229:55
[INFO] [stderr]     |
[INFO] [stderr] 229 |     fn update_multiple(&self, entry: AddressBookmark, archive: &Archive) -> Result<bool, VaultError> {
[INFO] [stderr]     |                                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_archive`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `language` is never read
[INFO] [stderr]   --> src/mnemonic.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub struct Mnemonic {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] 44 |     language: Language,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Mnemonic` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `base_dir` is never read
[INFO] [stderr]   --> src/storage.rs:66:5
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub struct Storages {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] 65 |     /// base dir
[INFO] [stderr] 66 |     base_dir: PathBuf,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Storages` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `keys` and `global` are never read
[INFO] [stderr]    --> src/storage/vault.rs:386:5
[INFO] [stderr]     |
[INFO] [stderr] 384 | pub struct CreateWallet {
[INFO] [stderr]     |            ------------ fields in this struct
[INFO] [stderr] 385 |     storage: Arc<VaultStorage>,
[INFO] [stderr] 386 |     keys: Arc<dyn VaultAccessByFile<PrivateKeyHolder>>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 390 |     global: Option<GlobalKey>,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `create` is never used
[INFO] [stderr]    --> src/structs/crypto.rs:142:19
[INFO] [stderr]     |
[INFO] [stderr] 139 | impl GlobalKeyRef {
[INFO] [stderr]     | ----------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 142 |     pub(crate) fn create(nonce: Vec<u8>) -> Result<GlobalKeyRef, VaultError> {
[INFO] [stderr]     |                   ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&Uuid` instead of cloning the inner type
[INFO] [stderr]    --> src/storage/vault.rs:257:28
[INFO] [stderr]     |
[INFO] [stderr] 257 |             .filter(|id| id.clone().ne(&wallet_id))
[INFO] [stderr]     |                            ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `emerald-vault` (lib) generated 44 warnings (run `cargo fix --lib -p emerald-vault` to apply 18 suggestions)
[INFO] [stderr] warning: unused import: `self::tests::*`
[INFO] [stderr]    --> src/util.rs:190:9
[INFO] [stderr]     |
[INFO] [stderr] 190 | pub use self::tests::*;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TryInto`
[INFO] [stderr]    --> src/convert/proto/crypto.rs:273:33
[INFO] [stderr]     |
[INFO] [stderr] 273 |     use std::convert::{TryFrom, TryInto};
[INFO] [stderr]     |                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GlobalKeyRef`
[INFO] [stderr]    --> src/convert/proto/seed.rs:168:33
[INFO] [stderr]     |
[INFO] [stderr] 168 |             crypto::{GlobalKey, GlobalKeyRef, Encrypted},
[INFO] [stderr]     |                                 ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GlobalKeyRef`
[INFO] [stderr]   --> src/crypto/pk.rs:12:41
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::structs::crypto::{GlobalKey, GlobalKeyRef};
[INFO] [stderr]    |                                         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PRIVATE_KEY_BYTES`
[INFO] [stderr]   --> src/sign/bip32.rs:59:9
[INFO] [stderr]    |
[INFO] [stderr] 59 |         PRIVATE_KEY_BYTES,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `LedgerSource`
[INFO] [stderr]    --> src/sign/ethereum.rs:168:20
[INFO] [stderr]     |
[INFO] [stderr] 168 |             seed::{LedgerSource, Seed, SeedRef, SeedSource},
[INFO] [stderr]     |                    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `read_test_txes`
[INFO] [stderr]    --> src/sign/ethereum.rs:185:24
[INFO] [stderr]     |
[INFO] [stderr] 185 |     use crate::tests::{read_test_txes};
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `LedgerSource`
[INFO] [stderr]    --> src/sign/key_source.rs:245:32
[INFO] [stderr]     |
[INFO] [stderr] 245 |     use crate::structs::seed::{LedgerSource, SeedSource};
[INFO] [stderr]     |                                ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Arc`, `Mutex`
[INFO] [stderr]    --> src/sign/key_source.rs:248:21
[INFO] [stderr]     |
[INFO] [stderr] 248 |     use std::sync::{Arc, Mutex};
[INFO] [stderr]     |                     ^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread`
[INFO] [stderr]    --> src/sign/key_source.rs:249:9
[INFO] [stderr]     |
[INFO] [stderr] 249 |     use std::thread;
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]    --> src/sign/key_source.rs:250:9
[INFO] [stderr]     |
[INFO] [stderr] 250 |     use std::time::Duration;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AddressBookmark`, `EthereumAddress`
[INFO] [stderr]    --> src/storage/addressbook.rs:239:27
[INFO] [stderr]     |
[INFO] [stderr] 239 |             addressbook::{AddressBookmark, AddressbookStorage},
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 243 |         EthereumAddress,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::Utc`
[INFO] [stderr]    --> src/storage/addressbook.rs:245:9
[INFO] [stderr]     |
[INFO] [stderr] 245 |     use chrono::Utc;
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tempdir::TempDir`
[INFO] [stderr]    --> src/storage/addressbook.rs:247:9
[INFO] [stderr]     |
[INFO] [stderr] 247 |     use tempdir::TempDir;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::stdin`
[INFO] [stderr]    --> src/storage/watch.rs:308:9
[INFO] [stderr]     |
[INFO] [stderr] 308 |     use std::io::stdin;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tempdir::TempDir`
[INFO] [stderr]    --> src/storage/watch.rs:309:9
[INFO] [stderr]     |
[INFO] [stderr] 309 |     use tempdir::TempDir;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::chains::Blockchain`
[INFO] [stderr]    --> src/storage/watch.rs:310:9
[INFO] [stderr]     |
[INFO] [stderr] 310 |     use crate::chains::Blockchain;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::storage::vault::VaultStorage`
[INFO] [stderr]    --> src/storage/watch.rs:311:9
[INFO] [stderr]     |
[INFO] [stderr] 311 |     use crate::storage::vault::VaultStorage;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::storage::watch::Request`
[INFO] [stderr]    --> src/storage/watch.rs:312:9
[INFO] [stderr]     |
[INFO] [stderr] 312 |     use crate::storage::watch::Request;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::tests::init_tests`
[INFO] [stderr]    --> src/storage/watch.rs:313:9
[INFO] [stderr]     |
[INFO] [stderr] 313 |     use crate::tests::init_tests;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `FromHex`, `ToHex`
[INFO] [stderr]   --> src/lib.rs:87:19
[INFO] [stderr]    |
[INFO] [stderr] 87 |     pub use hex::{FromHex, ToHex};
[INFO] [stderr]    |                   ^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]   --> src/convert/proto/book.rs:89:20
[INFO] [stderr]    |
[INFO] [stderr] 89 |     use protobuf::{parse_from_bytes, Message};
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]    --> src/convert/proto/book.rs:110:19
[INFO] [stderr]     |
[INFO] [stderr] 110 |         let act = parse_from_bytes::<proto_BootItem>(b.as_slice()).unwrap();
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]    --> src/convert/proto/pk.rs:103:20
[INFO] [stderr]     |
[INFO] [stderr] 103 |     use protobuf::{parse_from_bytes, Message, ProtobufEnum};
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]    --> src/convert/proto/pk.rs:118:19
[INFO] [stderr]     |
[INFO] [stderr] 118 |         let act = parse_from_bytes::<proto_PrivateKey>(b.as_slice()).unwrap();
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]    --> src/convert/proto/pk.rs:146:21
[INFO] [stderr]     |
[INFO] [stderr] 146 |         let mut m = parse_from_bytes::<proto_PrivateKey>(tmp.as_slice()).unwrap();
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]    --> src/convert/proto/seed.rs:173:20
[INFO] [stderr]     |
[INFO] [stderr] 173 |     use protobuf::{parse_from_bytes, Message, ProtobufEnum};
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]    --> src/convert/proto/seed.rs:192:19
[INFO] [stderr]     |
[INFO] [stderr] 192 |         let act = parse_from_bytes::<proto_Seed>(b.as_slice()).unwrap();
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:244:20
[INFO] [stderr]     |
[INFO] [stderr] 244 |     use protobuf::{parse_from_bytes, Message, ProtobufEnum};
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `protobuf::parse_from_bytes`: Use Message::parse_from_bytes instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:281:19
[INFO] [stderr]     |
[INFO] [stderr] 281 |         let act = parse_from_bytes::<proto_Wallet>(b.as_slice()).unwrap();
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]   --> src/structs/utils.rs:49:27
[INFO] [stderr]    |
[INFO] [stderr] 49 |         chrono::TimeZone::timestamp_millis(&Utc, 0);
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/book.rs:105:29
[INFO] [stderr]     |
[INFO] [stderr] 105 |             created_at: Utc.timestamp_millis(1592624592679),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/book.rs:129:29
[INFO] [stderr]     |
[INFO] [stderr] 129 |             created_at: Utc.timestamp_millis(1592624592679),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/book.rs:147:29
[INFO] [stderr]     |
[INFO] [stderr] 147 |             created_at: Utc.timestamp_millis(1592624592679),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/pk.rs:114:29
[INFO] [stderr]     |
[INFO] [stderr] 114 |         pk.created_at = Utc.timestamp_millis(1592624592679);
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/pk.rs:132:29
[INFO] [stderr]     |
[INFO] [stderr] 132 |         pk.created_at = Utc.timestamp_millis(1592624592679);
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/pk.rs:139:40
[INFO] [stderr]     |
[INFO] [stderr] 139 |         assert_eq!(act.created_at, Utc.timestamp_millis(1592624592679));
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/seed.rs:187:29
[INFO] [stderr]     |
[INFO] [stderr] 187 |             created_at: Utc.timestamp_millis(1592624592679),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/seed.rs:352:29
[INFO] [stderr]     |
[INFO] [stderr] 352 |             created_at: Utc.timestamp_millis(1592624592679),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/seed.rs:357:45
[INFO] [stderr]     |
[INFO] [stderr] 357 |         assert_eq!(seed_act.created_at, Utc.timestamp_millis(1592624592679));
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:257:29
[INFO] [stderr]     |
[INFO] [stderr] 257 |             created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:275:29
[INFO] [stderr]     |
[INFO] [stderr] 275 |             created_at: Utc.timestamp_millis(1592624592679),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:307:33
[INFO] [stderr]     |
[INFO] [stderr] 307 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:311:29
[INFO] [stderr]     |
[INFO] [stderr] 311 |             created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:336:33
[INFO] [stderr]     |
[INFO] [stderr] 336 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:340:29
[INFO] [stderr]     |
[INFO] [stderr] 340 |             created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:370:33
[INFO] [stderr]     |
[INFO] [stderr] 370 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:374:29
[INFO] [stderr]     |
[INFO] [stderr] 374 |             created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:400:33
[INFO] [stderr]     |
[INFO] [stderr] 400 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:408:29
[INFO] [stderr]     |
[INFO] [stderr] 408 |             created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:435:33
[INFO] [stderr]     |
[INFO] [stderr] 435 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:443:29
[INFO] [stderr]     |
[INFO] [stderr] 443 |             created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:462:29
[INFO] [stderr]     |
[INFO] [stderr] 462 |             created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:493:37
[INFO] [stderr]     |
[INFO] [stderr] 493 |                     created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                                     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:503:37
[INFO] [stderr]     |
[INFO] [stderr] 503 |                     created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                                     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:507:29
[INFO] [stderr]     |
[INFO] [stderr] 507 |             created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:568:29
[INFO] [stderr]     |
[INFO] [stderr] 568 |             created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/convert/proto/wallet.rs:588:29
[INFO] [stderr]     |
[INFO] [stderr] 588 |             created_at: Utc.timestamp_millis(1592624407736),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/sign/bitcoin.rs:392:33
[INFO] [stderr]     |
[INFO] [stderr] 392 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/sign/bitcoin.rs:447:33
[INFO] [stderr]     |
[INFO] [stderr] 447 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/sign/bitcoin.rs:534:33
[INFO] [stderr]     |
[INFO] [stderr] 534 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/storage/vault.rs:679:31
[INFO] [stderr]     |
[INFO] [stderr] 679 |         seed.created_at = Utc.timestamp_millis(0);
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/storage/vault.rs:696:31
[INFO] [stderr]     |
[INFO] [stderr] 696 |         seed.created_at = Utc.timestamp_millis(0);
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/storage/vault.rs:721:31
[INFO] [stderr]     |
[INFO] [stderr] 721 |         seed.created_at = Utc.timestamp_millis(1577962800000);
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/storage/vault.rs:726:31
[INFO] [stderr]     |
[INFO] [stderr] 726 |         seed.created_at = Utc.timestamp_millis(0);
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/storage/vault.rs:732:31
[INFO] [stderr]     |
[INFO] [stderr] 732 |         seed.created_at = Utc.timestamp_millis(1577876400000);
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/storage/vault.rs:737:31
[INFO] [stderr]     |
[INFO] [stderr] 737 |         seed.created_at = Utc.timestamp_millis(0);
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/storage/vault.rs:774:33
[INFO] [stderr]     |
[INFO] [stderr] 774 |                 created_at: Utc.timestamp_millis(1577962800000),
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/storage/vault.rs:782:33
[INFO] [stderr]     |
[INFO] [stderr] 782 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/storage/vault.rs:791:33
[INFO] [stderr]     |
[INFO] [stderr] 791 |                 created_at: Utc.timestamp_millis(1577876400000),
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/storage/vault.rs:799:33
[INFO] [stderr]     |
[INFO] [stderr] 799 |                 created_at: Utc.timestamp_millis(0),
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/storage/icons.rs:215:31
[INFO] [stderr]     |
[INFO] [stderr] 215 |         seed.created_at = Utc.timestamp_millis(0);
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]    --> src/storage/icons.rs:352:31
[INFO] [stderr]     |
[INFO] [stderr] 352 |         seed.created_at = Utc.timestamp_millis(0);
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]   --> src/structs/utils.rs:52:29
[INFO] [stderr]    |
[INFO] [stderr] 52 |             created_at: Utc.timestamp_millis(100),
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]   --> src/structs/utils.rs:56:29
[INFO] [stderr]    |
[INFO] [stderr] 56 |             created_at: Utc.timestamp_millis(200),
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]   --> src/structs/utils.rs:67:29
[INFO] [stderr]    |
[INFO] [stderr] 67 |             created_at: Utc.timestamp_millis(0),
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]   --> src/structs/utils.rs:71:29
[INFO] [stderr]    |
[INFO] [stderr] 71 |             created_at: Utc.timestamp_millis(200),
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]   --> src/structs/utils.rs:82:29
[INFO] [stderr]    |
[INFO] [stderr] 82 |             created_at: Utc.timestamp_millis(0),
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `chrono::TimeZone::timestamp_millis`: use `timestamp_millis_opt()` instead
[INFO] [stderr]   --> src/structs/utils.rs:86:29
[INFO] [stderr]    |
[INFO] [stderr] 86 |             created_at: Utc.timestamp_millis(200),
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `global`
[INFO] [stderr]    --> src/storage/global_key.rs:466:13
[INFO] [stderr]     |
[INFO] [stderr] 466 |         let global = Some(global_store.get().unwrap());
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stderr] 
[INFO] [stderr] warning: function `dump_file` is never used
[INFO] [stderr]    --> src/storage/addressbook.rs:257:8
[INFO] [stderr]     |
[INFO] [stderr] 257 |     fn dump_file<P>(path: P)
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_test_addresses` is never used
[INFO] [stderr]    --> src/lib.rs:125:12
[INFO] [stderr]     |
[INFO] [stderr] 125 |     pub fn read_test_addresses() -> Vec<TestAddress> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_test_txes` is never used
[INFO] [stderr]    --> src/lib.rs:132:12
[INFO] [stderr]     |
[INFO] [stderr] 132 |     pub fn read_test_txes() -> Vec<TestTx> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]   --> src/migration.rs:70:51
[INFO] [stderr]    |
[INFO] [stderr] 70 |             for entry in fs::read_dir(dir.as_ref().clone()).unwrap() {
[INFO] [stderr]    |                                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]    |
[INFO] [stderr]    = note: the type `std::path::Path` does not implement `Clone`, so calling `clone` on `&std::path::Path` copies the reference, which does not do anything and can be removed
[INFO] [stderr]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&uuid::Uuid` instead of cloning the inner type
[INFO] [stderr]    --> src/storage/vault.rs:257:28
[INFO] [stderr]     |
[INFO] [stderr] 257 |             .filter(|id| id.clone().ne(&wallet_id))
[INFO] [stderr]     |                            ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `emerald-vault` (lib test) generated 122 warnings (37 duplicates) (run `cargo fix --lib -p emerald-vault --tests` to apply 23 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/emerald_vault-7b136ac286a3f75e)
[INFO] [stdout] 
[INFO] [stdout] running 335 tests
[INFO] [stdout] test blockchain::addresses::tests::generate_segwit_script ... ok
[INFO] [stdout] test blockchain::addresses::tests::segwit_address_from_pubkey ... ok
[INFO] [stdout] test blockchain::bitcoin::tests::correct_address_type ... ok
[INFO] [stdout] test blockchain::bitcoin::tests::merge_two_keymappings ... ok
[INFO] [stdout] test blockchain::bitcoin::tests::parse_xpub_p2pkh ... ok
[INFO] [stdout] test blockchain::bitcoin::tests::encode_xpub_p2wpkh_p2sh ... ok
[INFO] [stdout] test blockchain::bitcoin::tests::parse_xpub_p2pkh_testnet ... ok
[INFO] [stdout] test blockchain::bitcoin::tests::parse_xpub_p2wpkh ... ok
[INFO] [stdout] test blockchain::bitcoin::tests::parse_xpub_p2wpkh_p2sh ... ok
[INFO] [stdout] test blockchain::ethereum::address::tests::should_catch_missing_address_prefix ... ok
[INFO] [stdout] test blockchain::addresses::tests::gets_bitcoin_address_p2pk ... ok
[INFO] [stdout] test blockchain::addresses::tests::gets_bitcoin_address_segwit ... ok
[INFO] [stdout] test blockchain::ethereum::address::tests::should_catch_wrong_address_excess_length ... ok
[INFO] [stdout] test blockchain::ethereum::address::tests::should_catch_empty_address_string ... ok
[INFO] [stdout] test blockchain::chains::tests::convert_blockchain_into_u32 ... ok
[INFO] [stdout] test blockchain::bitcoin::tests::to_string_xpub_p2pkh ... ok
[INFO] [stdout] test blockchain::addresses::tests::gets_ethereum_address ... ok
[INFO] [stdout] test blockchain::addresses::tests::gets_bitcoin_address_p2wpkh ... ok
[INFO] [stdout] test blockchain::ethereum::address::tests::should_catch_wrong_address_encoding ... ok
[INFO] [stdout] test blockchain::chains::tests::convert_blockchain_into_u32_and_opposite ... ok
[INFO] [stdout] test blockchain::ethereum::address::tests::should_catch_wrong_address_insufficient_length ... ok
[INFO] [stdout] test blockchain::bitcoin::tests::to_string_xpub_p2wpkh ... ok
[INFO] [stdout] test blockchain::ethereum::address::tests::should_catch_wrong_address_prefix ... ok
[INFO] [stdout] test blockchain::ethereum::address::tests::should_display_real_address ... ok
[INFO] [stdout] test blockchain::ethereum::address::tests::should_display_zero_address ... ok
[INFO] [stdout] test blockchain::ethereum::address::tests::should_parse_real_address_without_prefix ... ok
[INFO] [stdout] test blockchain::ethereum::address::tests::should_parse_real_address ... ok
[INFO] [stdout] test blockchain::ethereum::eip191::tests::should_calculate_message_hash ... ok
[INFO] [stdout] test blockchain::ethereum::eip191::tests::sign_test_3 ... ok
[INFO] [stdout] test blockchain::ethereum::eip191::tests::sign_test_4 ... ok
[INFO] [stdout] test blockchain::ethereum::eip191::tests::sign_test_1 ... ok
[INFO] [stdout] test blockchain::ethereum::eip191::tests::verify_test_1 ... ok
[INFO] [stdout] test blockchain::ethereum::eip191::tests::extract_test_1 ... ok
[INFO] [stdout] test blockchain::ethereum::eip191::tests::sign_test_2 ... ok
[INFO] [stdout] test blockchain::ethereum::eip191::tests::verify_test_3 ... ok
[INFO] [stdout] test blockchain::ethereum::eip191::tests::verify_test_1_invalid_sig ... ok
[INFO] [stdout] test blockchain::ethereum::eip191::tests::verify_test_1_wrong_sig ... ok
[INFO] [stdout] test blockchain::bitcoin::tests::merge_keymapping_with_global ... ok
[INFO] [stdout] test blockchain::ethereum::hex::tests::decode_empty ... ok
[INFO] [stdout] test blockchain::ethereum::eip191::tests::verify_test_4 ... ok
[INFO] [stdout] test blockchain::ethereum::hex::tests::encode_32 ... ok
[INFO] [stdout] test blockchain::ethereum::eip191::tests::verify_test_1_wrong_addr ... ok
[INFO] [stdout] test blockchain::ethereum::hex::tests::encode_empty ... ok
[INFO] [stdout] test blockchain::ethereum::hex::tests::encode_single ... ok
[INFO] [stdout] test blockchain::ethereum::hex::tests::decode_32 ... ok
[INFO] [stdout] test blockchain::ethereum::signature::tests::convert_to_secp256k1_format ... ok
[INFO] [stdout] test blockchain::ethereum::hex::tests::decode_single ... ok
[INFO] [stdout] test blockchain::ethereum::eip191::tests::verify_test_2 ... ok
[INFO] [stdout] test blockchain::ethereum::signature::tests::decode_signature_from_string ... ok
[INFO] [stdout] test blockchain::ethereum::signature::tests::sign_eip2930 ... ok
[INFO] [stdout] test blockchain::ethereum::signature::tests::encode_decode_signature_to_string ... ok
[INFO] [stdout] test blockchain::ethereum::signature::tests::sign_eip2930_2 ... ok
[INFO] [stdout] test blockchain::ethereum::transaction::tests::encode_tx_eip1559 ... ok
[INFO] [stdout] test blockchain::ethereum::transaction::tests::encode_tx ... ok
[INFO] [stdout] test blockchain::ethereum::signature::tests::extract_legacy_tx_signature_existing_0a28d856 ... ok
[INFO] [stdout] test blockchain::ethereum::signature::tests::should_convert_into_address ... ok
[INFO] [stdout] test blockchain::ethereum::signature::tests::should_sign_hash ... ok
[INFO] [stdout] test blockchain::bitcoin::tests::find_path_testnet ... ok
[INFO] [stdout] test blockchain::ethereum::signature::tests::extract_legacy_tx_signature ... ok
[INFO] [stdout] test blockchain::ethereum::signature::tests::sign_eip2930_3 ... ok
[INFO] [stdout] test blockchain::ethereum::transaction::tests::create_tx_eip1559 ... ok
[INFO] [stdout] test blockchain::ethereum::transaction::tests::rs_should_be_quantity_1 ... ok
[INFO] [stdout] test blockchain::ethereum::transaction::tests::should_sign_transaction_for_mainnet ... ok
[INFO] [stdout] test convert::json::address::tests::should_decode_zero_address ... ok
[INFO] [stdout] test blockchain::ethereum::transaction::tests::encode_tx_with_small_gassprice ... ok
[INFO] [stdout] test blockchain::ethereum::transaction::tests::should_sign_transaction_eip155 ... ok
[INFO] [stdout] test blockchain::ethereum::transaction::tests::should_sign_transaction_for_testnet ... ok
[INFO] [stdout] test convert::json::address::tests::should_not_decode_absent_address ... ok
[INFO] [stdout] test blockchain::ethereum::transaction::tests::rs_should_be_quantity_2 ... ok
[INFO] [stdout] test convert::json::address::tests::should_not_decode_empty_address ... ok
[INFO] [stdout] test blockchain::bitcoin::tests::use_global_key ... ok
[INFO] [stdout] test convert::json::address::tests::should_not_decode_not_string_address ... ok
[INFO] [stdout] test convert::json::address::tests::should_decode_real_address ... ok
[INFO] [stdout] test convert::json::address::tests::should_encode_real_address ... ok
[INFO] [stdout] test convert::json::address::tests::should_encode_default_address ... ok
[INFO] [stdout] test convert::json::address::tests::should_not_decode_wrong_address ... ok
[INFO] [stdout] test convert::json::keyfile::tests::export_json_from_encrypted_pk ... ok
[INFO] [stdout] test convert::json::keyfile::tests::extracts_encrypted_from_json_scrypt ... ok
[INFO] [stdout] test convert::json::keyfile::tests::extracts_encrypted_from_json_pbkdf ... ok
[INFO] [stdout] test convert::json::keyfile::tests::should_deserialize_pbkdf2_crypto ... ok
[INFO] [stdout] test convert::json::keyfile::tests::import_pbkdf_default ... ok
[INFO] [stdout] test convert::json::keyfile::tests::should_deserialize_kdf_params ... ok
[INFO] [stdout] test convert::json::keyfile::tests::should_not_decode_not_wrong_crypto ... ok
[INFO] [stdout] test convert::json::keyfile::tests::should_not_decode_unknown_kdf_prf ... ok
[INFO] [stdout] test convert::json::keyfile::tests::import_scrypt_default ... ok
[INFO] [stdout] test blockchain::ethereum::eip712::tests::sign_test_1 ... ok
[INFO] [stdout] test convert::json::keyfile::tests::import_with_address ... ok
[INFO] [stdout] test convert::json::keyfile::tests::should_deserialize_scrypt_crypto ... ok
[INFO] [stdout] test blockchain::ethereum::eip712::tests::verify_test_1 ... ok
[INFO] [stdout] test convert::proto::address::tests::encode_decode_plain_ethereum ... ok
[INFO] [stdout] test convert::json::keyfile::tests::should_not_decode_unknown_cipher ... ok
[INFO] [stdout] test convert::proto::address::tests::encode_decode_testnet_xpub ... ok
[INFO] [stdout] test convert::proto::address::tests::encode_decode_xpub ... ok
[INFO] [stdout] test convert::proto::book::tests::write_as_protobuf ... ok
[INFO] [stdout] test convert::proto::book::tests::write_and_read ... ok
[INFO] [stdout] test convert::proto::book::tests::ignore_big_created_at ... ok
[INFO] [stdout] test convert::proto::seed::tests::empty_label_is_none ... ok
[INFO] [stdout] test convert::proto::seed::tests::ignore_big_created_at ... ok
[INFO] [stdout] test convert::proto::seed::tests::write_and_read_label ... ok
[INFO] [stdout] test convert::proto::book::tests::write_and_read_xpub ... ok
[INFO] [stdout] test convert::proto::seed::tests::write_and_read_ledger ... ok
[INFO] [stdout] test convert::proto::seed::tests::write_and_read_timestamp ... ok
[INFO] [stdout] test convert::proto::wallet::tests::should_not_read_entry_with_invalid_hd ... ok
[INFO] [stdout] test convert::proto::seed::tests::write_and_read_ledger_fingerprint ... ok
[INFO] [stdout] test convert::proto::wallet::tests::ignore_big_created_at ... ok
[INFO] [stdout] test convert::proto::wallet::tests::write_and_read_reserved_hd ... ok
[INFO] [stdout] test convert::proto::wallet::tests::write_and_read_empty ... ok
[INFO] [stdout] test convert::proto::wallet::tests::reserve_current_seed ... ok
[INFO] [stdout] test convert::proto::wallet::tests::write_and_read_created_at ... ok
[INFO] [stdout] test convert::proto::wallet::tests::write_and_read_label ... ok
[INFO] [stdout] test convert::proto::wallet::tests::write_and_read_send_only_entry ... ok
[INFO] [stdout] test convert::proto::wallet::tests::write_and_read_wallet ... ok
[INFO] [stdout] test convert::proto::wallet::tests::write_and_read_wallet_w_seedref ... ok
[INFO] [stdout] test convert::proto::wallet::tests::write_as_protobuf ... ok
[INFO] [stdout] test convert::proto::wallet::tests::write_and_read_wallet_wo_label ... ok
[INFO] [stdout] test convert::proto::wallet::tests::write_and_read_wallet_bitcoin ... ok
[INFO] [stdout] test crypto::encrypted::tests::decrypt_std_1 ... ok
[INFO] [stdout] test convert::proto::seed::tests::write_as_protobuf ... ok
[INFO] [stdout] test crypto::encrypted::tests::deny_invalid_mac ... ok
[INFO] [stdout] test crypto::encrypted::tests::doesnt_allow_empty_passwrod ... ok
[INFO] [stdout] test convert::proto::seed::tests::write_and_read_bytes ... ok
[INFO] [stdout] test crypto::encrypted::tests::generates_diff_nonce ... ok
[INFO] [stdout] test convert::proto::pk::tests::ignore_big_created_at ... ok
[INFO] [stdout] test crypto::encrypted::tests::fail_to_decrypt_with_wrong_key ... ok
[INFO] [stdout] test crypto::encrypted::tests::encrypt_descrypt_aes128 ... ok
[INFO] [stdout] test convert::proto::pk::tests::write_as_protobuf ... ok
[INFO] [stdout] test convert::proto::crypto::tests::write_read_global_key ... ok
[INFO] [stdout] test convert::proto::pk::tests::write_and_read ... ok
[INFO] [stdout] test crypto::encrypted::tests::split_web3_key ... ok
[INFO] [stdout] test crypto::encrypted::tests::verify_mac_1 ... ok
[INFO] [stdout] test crypto::encrypted::tests::verify_mac_2 ... ok
[INFO] [stdout] test crypto::fingerprint::tests::create_zero ... ok
[INFO] [stdout] test crypto::encrypted::tests::encrypt_0000 ... ok
[INFO] [stdout] test crypto::encrypted::tests::encrypt_0xfac192ce ... ok
[INFO] [stdout] test crypto::encrypted::tests::encrypt_decrypt_large ... ok
[INFO] [stdout] test crypto::kdf::tests::derive_official_eth_pbkdf2 ... ok
[INFO] [stdout] test crypto::encrypted::tests::no_reencrypt_empty_password ... ok
[INFO] [stdout] test crypto::encrypted::tests::no_reencrypt_wrong_password ... ok
[INFO] [stdout] test crypto::kdf::tests::derive_fast_pbkdf2_32 ... ok
[INFO] [stdout] test crypto::encrypted::tests::diff_password_per_nonce ... ok
[INFO] [stdout] test convert::proto::seed::tests::write_and_read_with_global_key ... ok
[INFO] [stdout] test crypto::kdf::tests::derive_fast_pbkdf2_64 ... ok
[INFO] [stdout] test crypto::util::tests::should_calculate_big_keccak256 ... ok
[INFO] [stdout] test crypto::util::tests::should_calculate_empty_keccak256 ... ok
[INFO] [stdout] test crypto::encrypted::tests::reencrypt_from_legacy ... ok
[INFO] [stdout] test crypto::kdf::tests::derive_ultrafast_scrypt_32 ... ok
[INFO] [stdout] test crypto::util::tests::should_calculate_small_keccak256 ... ok
[INFO] [stdout] test migration::source::json_data::tests::parse_keyfile_ledger ... ok
[INFO] [stdout] test migration::source::v1::tests::migrate_basic ... ok
[INFO] [stdout] test migration::source::json_data::tests::parse_addressbook_json ... ok
[INFO] [stdout] test migration::source::json_data::tests::parse_keyfile ... ok
[INFO] [stdout] test migration::source::v3::tests::accepts_addressbook ... ok
[INFO] [stdout] test crypto::kdf::tests::derive_fast_pbkdf2_32_sha512 ... ok
[INFO] [stdout] test migration::source::v3::tests::accepts_archive ... ok
[INFO] [stdout] test migration::source::v3::tests::accepts_bak ... ok
[INFO] [stdout] test migration::source::v3::tests::accepts_global_key ... ok
[INFO] [stdout] test migration::source::v3::tests::accepts_wallet ... ok
[INFO] [stdout] test migration::source::v3::tests::accepts_seed ... ok
[INFO] [stdout] test migration::source::v3::tests::accepts_key ... ok
[INFO] [stdout] test migration::source::v3::tests::ignores_vault ... ok
[INFO] [stdout] test migration::source::v3::tests::list_actual_files ... ok
[INFO] [stdout] test migration::source::v3::tests::move_files ... ok
[INFO] [stdout] test mnemonic::tests::checksum_for_15 ... ok
[INFO] [stdout] test mnemonic::tests::checksum_for_18 ... ok
[INFO] [stdout] test mnemonic::tests::generates_correct_entropy_length ... ok
[INFO] [stdout] test migration::source::v3::tests::migrate ... ok
[INFO] [stdout] test mnemonic::tests::checksum_for_24 ... ok
[INFO] [stdout] test mnemonic::tests::checksum_for_21 ... ok
[INFO] [stdout] test mnemonic::tests::get_index_18 ... ok
[INFO] [stdout] test mnemonic::tests::get_index_24 ... ok
[INFO] [stdout] test mnemonic::tests::keeps_zeroes_with_checksum ... ok
[INFO] [stdout] test mnemonic::tests::generates_correct_mnemonic_length ... ok
[INFO] [stdout] test crypto::encrypted::tests::reencrypt_from_global ... ok
[INFO] [stdout] test mnemonic::tests::should_calc_entropy_length ... ok
[INFO] [stdout] test mnemonic::tests::should_calc_full_length ... ok
[INFO] [stdout] test mnemonic::tests::should_convert_to_sentence ... ok
[INFO] [stdout] test blockchain::bitcoin::tests::find_path ... ok
[INFO] [stdout] test mnemonic::tests::should_convert_to_seed ... ok
[INFO] [stdout] test mnemonic::tests::should_create_from_entropy_15 ... ok
[INFO] [stdout] test mnemonic::tests::should_be_compatible_with_bip39js ... ok
[INFO] [stdout] test mnemonic::tests::should_be_compatible_with_bip39js_emptypass ... ok
[INFO] [stdout] test mnemonic::tests::should_extract_length ... ok
[INFO] [stdout] test mnemonic::tests::should_fail_from_empty ... ok
[INFO] [stdout] test mnemonic::tests::should_fail_from_longer ... ok
[INFO] [stdout] test mnemonic::tests::should_fail_from_outrange ... ok
[INFO] [stdout] test mnemonic::tests::should_fail_generate_indexes ... ok
[INFO] [stdout] test mnemonic::tests::should_fail_on_invalid_length ... ok
[INFO] [stdout] test crypto::kdf::tests::derive_scrypt_with_zero ... ok
[INFO] [stdout] test crypto::kdf::tests::derive_scrypt_fast_32 ... ok
[INFO] [stdout] test mnemonic::tests::should_generate_entropy ... ok
[INFO] [stdout] test mnemonic::tests::should_generate_indexes_15words ... ok
[INFO] [stdout] test mnemonic::tests::should_generate_indexes_12words ... ok
[INFO] [stdout] test mnemonic::tests::should_generate_indexes_21words ... ok
[INFO] [stdout] test crypto::kdf::tests::derive_scrypt_fast_64 ... ok
[INFO] [stdout] test mnemonic::tests::should_generate_indexes_18words ... ok
[INFO] [stdout] test mnemonic::tests::should_generate_indexes_24words ... ok
[INFO] [stdout] test sign::bip32::test::test_key_generation ... ok
[INFO] [stdout] test sign::bip32::test::test_key_generation_eth ... ok
[INFO] [stdout] test mnemonic::tests::should_create_from_entropy_24 ... ok
[INFO] [stdout] test mnemonic::tests::should_create_from_sentence_12 ... ok
[INFO] [stdout] test mnemonic::tests::should_generate_english_mnemonic ... ok
[INFO] [stdout] test mnemonic::tests::should_create_from_sentence_24 ... ok
[INFO] [stdout] test sign::bitcoin::tests::encode_basic_unsigned_tx ... ok
[INFO] [stdout] test sign::bitcoin::tests::encode_nonsegwit_out_unsigned_tx ... ok
[INFO] [stdout] test mnemonic::tests::should_create_from_sentence_15 ... ok
[INFO] [stdout] test sign::bitcoin::tests::invalidate_no_input ... ok
[INFO] [stdout] test sign::bitcoin::tests::invalidate_fee_wrong ... ok
[INFO] [stdout] test sign::bitcoin::tests::invalidate_large_fee ... ok
[INFO] [stdout] test sign::ethereum::tests::export_pk_from_seed ... ok
[INFO] [stdout] test sign::bitcoin::tests::invalidate_no_output ... ok
[INFO] [stdout] test sign::ethereum::tests::export_stored_pk ... ok
[INFO] [stdout] test sign::ethereum::tests::sign_erc20_approve ... ok
[INFO] [stdout] test sign::ethereum::tests::sign_weth_deposit ... ok
[INFO] [stdout] test sign::bitcoin::tests::sign_basic_tx ... ok
[INFO] [stdout] test sign::ethereum::tests::sign_with_provided_pk ... ok
[INFO] [stdout] test sign::bitcoin::tests::sign_basic_tx_2 ... ok
[INFO] [stdout] test sign::ethereum::tests::sign_with_stored_pk ... ok
[INFO] [stdout] test sign::bitcoin::tests::sign_two_input_tx ... ok
[INFO] [stdout] test mnemonic::tests::should_create_from_entropy_18 ... ok
[INFO] [stdout] test sign::bitcoin::tests::witness_basic_tx ... ok
[INFO] [stdout] test storage::addressbook::tests::get_one_by_id ... ok
[INFO] [stdout] test storage::addressbook::tests::read_one ... ok
[INFO] [stdout] test storage::addressbook::tests::read_without_header ... ok
[INFO] [stdout] test storage::addressbook::tests::read_empty ... ok
[INFO] [stdout] test storage::archive::tests::add_existing_file ... ok
[INFO] [stdout] test storage::archive::tests::formats_block ... ok
[INFO] [stdout] test storage::archive::tests::formats_description ... ok
[INFO] [stdout] test sign::bitcoin::tests::invalidate_not_enough_sent ... ok
[INFO] [stdout] test sign::ethereum::tests::sign_erc191_message ... ok
[INFO] [stdout] test storage::files::tests::try_vault_file_from_invalid_name ... ok
[INFO] [stdout] test storage::archive::tests::writes_readme ... ok
[INFO] [stdout] test storage::files::tests::try_vault_file_from_invalid_suffix ... ok
[INFO] [stdout] test storage::files::tests::try_vault_file_from_standard ... ok
[INFO] [stdout] test storage::global_key::tests::cannot_get_when_unset ... ok
[INFO] [stdout] test sign::key_source::tests::get_bitcoin_addresses ... ok
[INFO] [stdout] test sign::key_source::tests::get_bitcoin_xpub ... ok
[INFO] [stdout] test storage::global_key::tests::cannot_create_when_set ... ok
[INFO] [stdout] test storage::global_key::tests::create_when_unset ... ok
[INFO] [stdout] test sign::key_source::tests::get_bitcoin_testnet_xpub ... ok
[INFO] [stdout] test storage::global_key::tests::none_when_doesnt_exist ... ok
[INFO] [stdout] test sign::key_source::tests::get_ethereum_addresses ... ok
[INFO] [stdout] test storage::global_key::tests::returns_when_exists ... ok
[INFO] [stdout] test storage::global_key::tests::verify_correct ... ok
[INFO] [stdout] test storage::global_key::tests::doesnt_report_ledger ... ok
[INFO] [stdout] test storage::global_key::tests::can_change_password ... ok
[INFO] [stdout] test storage::global_key::tests::verify_wrong ... ok
[INFO] [stdout] test sign::bitcoin::tests::validate_ok ... ok
[INFO] [stdout] test storage::global_key::tests::ignored_for_legacy_seed ... ok
[INFO] [stdout] test storage::icons::tests::cut_to_size ... ok
[INFO] [stdout] test storage::icons::tests::reject_broken_png ... ok
[INFO] [stdout] test storage::global_key::tests::doesnt_change_wrong_password ... ok
[INFO] [stdout] test storage::vault::tests::archive_stale_backup ... ok
[INFO] [stdout] test storage::admin::tests::try_all_upgrades ... ok
[INFO] [stdout] test storage::global_key::tests::is_used_in_encryption ... ok
[INFO] [stdout] test storage::vault::tests::delete_wallet_with_pk ... ok
[INFO] [stdout] test storage::vault::tests::delete_wallet_with_pk_keeps_others ... ok
[INFO] [stdout] test storage::vault::tests::delete_wallet_with_pk_keeps_used_twice ... ok
[INFO] [stdout] test storage::vault::tests::doesnt_reuse_entry_id ... ok
[INFO] [stdout] test storage::vault::tests::creates_seed ... ok
[INFO] [stdout] test storage::vault::tests::doesnt_set_entry_label_for_no_entry ... ok
[INFO] [stdout] test storage::vault::tests::order_wallets_by_date_and_id ... ok
[INFO] [stdout] test storage::global_key::tests::reports_nokey_items ... ok
[INFO] [stdout] test storage::vault::tests::remove_first_entry ... ok
[INFO] [stdout] test storage::vault::tests::remove_non_existing_entry ... ok
[INFO] [stdout] test storage::vault::tests::remove_second_entry ... ok
[INFO] [stdout] test storage::vault::tests::remove_single_entry ... ok
[INFO] [stdout] test storage::vault::tests::removes_to_archive ... ok
[INFO] [stdout] test storage::vault::tests::removing_entry_keeps_pk_used_by_another_wallet ... ok
[INFO] [stdout] test storage::vault::tests::restores_backup ... ok
[INFO] [stdout] test storage::vault::tests::deletes_seed ... ok
[INFO] [stdout] test storage::vault::tests::safe_update_copies_to_archive ... ok
[INFO] [stdout] test storage::vault::tests::removing_entry_removes_pk ... ok
[INFO] [stdout] test storage::snapshot::tests::backup_and_restore ... ok
[INFO] [stdout] test storage::vault::tests::safe_update_when_bak_exists ... ok
[INFO] [stdout] test storage::vault::tests::safe_update_ok ... ok
[INFO] [stdout] test storage::vault::tests::safe_update_deletes_if_archive_full ... ok
[INFO] [stdout] test storage::vault::tests::skip_restore_if_ok ... ok
[INFO] [stdout] test storage::vault::tests::set_entry_label ... ok
[INFO] [stdout] test storage::vault::tests::set_entry_receive_flag ... ok
[INFO] [stdout] test storage::vault::tests::start_entry_id_from_seq ... ok
[INFO] [stdout] test storage::vault_bitcoin::tests::add_seed_ledger_with_xpub ... ok
[INFO] [stdout] test storage::vault::tests::uses_different_entry_ids ... ok
[INFO] [stdout] test storage::vault_bitcoin::tests::cannot_create_with_wrong_chain_xpub ... ok
[INFO] [stdout] test storage::vault_ethereum::tests::add_single_pk ... ok
[INFO] [stdout] test storage::vault_bitcoin::tests::adds_seed_entry ... ok
[INFO] [stdout] test storage::vault_bitcoin::tests::adds_seed_entry_testnet ... ok
[INFO] [stdout] test storage::vault_ethereum::tests::remove_after_adding ... ok
[INFO] [stdout] test storage::vault_ethereum::tests::add_seed_entry ... ok
[INFO] [stdout] test structs::seed::tests::account_id_for_standard_hdpath ... ok
[INFO] [stdout] test structs::utils::tests::ord_by_date ... ok
[INFO] [stdout] test structs::crypto::tests::tells_that_global_key_is_used ... ok
[INFO] [stdout] test structs::utils::tests::ord_greater_with_date ... ok
[INFO] [stdout] test structs::utils::tests::ord_same_date_by_id ... ok
[INFO] [stdout] test structs::wallet::tests::create_and_access_ledger_seed ... ok
[INFO] [stdout] test structs::wallet::tests::encode_decode_role ... ok
[INFO] [stdout] test structs::wallet::tests::get_std_addresses_ethereum ... ok
[INFO] [stdout] test structs::wallet::tests::fail_decode_invalid_role ... ok
[INFO] [stdout] test structs::wallet::tests::parse_valid_entry_id ... ok
[INFO] [stdout] test util::tests::should_align_all_zero_bytes ... ok
[INFO] [stdout] test util::tests::should_align_empty_bytes ... ok
[INFO] [stdout] test storage::vault_ethereum::tests::doesnt_create_duplicate_entry ... ok
[INFO] [stdout] test util::tests::should_align_full_bytes ... ok
[INFO] [stdout] test util::tests::should_align_some_bytes ... ok
[INFO] [stdout] test storage::icons::tests::add_icon_for_wallet ... ok
[INFO] [stdout] test util::tests::should_convert_address_into_20bytes ... ok
[INFO] [stdout] test util::tests::should_convert_key_into_32bytes ... ok
[INFO] [stdout] test util::tests::should_convert_u16_to_bytes ... ok
[INFO] [stdout] test util::tests::should_convert_u32_to_bytes ... ok
[INFO] [stdout] test util::tests::should_align_some_zero_bytes ... ok
[INFO] [stdout] test util::tests::should_convert_u64_to_bytes ... ok
[INFO] [stdout] test util::tests::should_convert_u8_to_bytes ... ok
[INFO] [stdout] test util::tests::should_count_bytes_for_rlp ... ok
[INFO] [stdout] test util::tests::should_convert_zero_string_into_16bytes ... ok
[INFO] [stdout] test util::tests::should_skip_already_even_str ... ok
[INFO] [stdout] test util::tests::should_skip_smaller_length ... ok
[INFO] [stdout] test util::tests::should_align_to_even_str ... ok
[INFO] [stdout] test util::tests::should_skip_trim_hex_prefix ... ok
[INFO] [stdout] test util::tests::should_trim_hex_prefix ... ok
[INFO] [stdout] test util::tests::should_trim_some_bytes ... ok
[INFO] [stdout] test util::tests::should_trim_empty_bytes ... ok
[INFO] [stdout] test util::tests::should_trim_zero_bytes ... ok
[INFO] [stdout] test util::tests::should_generate_timestamp ... ok
[INFO] [stdout] test storage::icons::tests::delete_icon ... ok
[INFO] [stdout] test structs::wallet::tests::get_xpub_addresses_bitcoin ... ok
[INFO] [stdout] test storage::icons::tests::add_icon_for_seed ... ok
[INFO] [stdout] test storage::vault::tests::order_seeds_by_date_and_id ... ok
[INFO] [stdout] test convert::json::keyfile::tests::can_decrypt_web3_scrypt ... ok
[INFO] [stdout] test storage::icons::tests::add_icon_as_jpeg ... ok
[INFO] [stdout] test storage::vault_ethereum::tests::import_json ... ok
[INFO] [stdout] test convert::json::keyfile::tests::export_json_from_raw_pk ... ok
[INFO] [stdout] test crypto::kdf::tests::derive_argon2 ... ok
[INFO] [stdout] test crypto::kdf::tests::derive_scrypt_slow_64 ... ok
[INFO] [stdout] test crypto::kdf::tests::derive_scrypt_slow_32 ... ok
[INFO] [stdout] test crypto::kdf::tests::derive_official_eth_slow_pbkdf2 ... ok
[INFO] [stdout] test crypto::encrypted::tests::decrypt_known_large ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 335 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 12.64s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests emerald_vault
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test src/storage/snapshot.rs - storage::snapshot::SnapshotRestore (line 27) ... ignored
[INFO] [stdout] test src/structs/seed.rs - structs::seed::SeedSource::create_raw (line 103) ... ok
[INFO] [stdout] test src/blockchain/ethereum/address.rs - blockchain::ethereum::address::EthereumAddress::try_from (line 45) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 3.48s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "12a7aa77e034a3762adce7100d57684b776edd1a842ae73d8c1479a81b0d49ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "12a7aa77e034a3762adce7100d57684b776edd1a842ae73d8c1479a81b0d49ef", kill_on_drop: false }`
[INFO] [stdout] 12a7aa77e034a3762adce7100d57684b776edd1a842ae73d8c1479a81b0d49ef
[INFO] testing emerald-vault-0.33.0 against beta-2023-12-22 for beta-1.76-1
[INFO] extracting crate emerald-vault 0.33.0 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate emerald-vault 0.33.0 on toolchain beta-2023-12-22
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate emerald-vault 0.33.0
[INFO] finished tweaking crates.io crate emerald-vault 0.33.0
[INFO] tweaked toml for crates.io crate emerald-vault 0.33.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 987dc4a736efe366548c801953659ca8eaf24f623af850185f4496e2d29be7c8
[INFO] running `Command { std: "docker" "start" "-a" "987dc4a736efe366548c801953659ca8eaf24f623af850185f4496e2d29be7c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "987dc4a736efe366548c801953659ca8eaf24f623af850185f4496e2d29be7c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "987dc4a736efe366548c801953659ca8eaf24f623af850185f4496e2d29be7c8", kill_on_drop: false }`
[INFO] [stdout] 987dc4a736efe366548c801953659ca8eaf24f623af850185f4496e2d29be7c8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9cd156bf4217c0518d4bffc7a56da808957b779c03050892de99f48045467fff
[INFO] running `Command { std: "docker" "start" "-a" "9cd156bf4217c0518d4bffc7a56da808957b779c03050892de99f48045467fff", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.75
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling subtle v2.5.0
[INFO] [stderr]    Compiling serde v1.0.194
[INFO] [stderr]    Compiling libc v0.2.151
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling winnow v0.5.32
[INFO] [stderr]    Compiling zeroize v1.7.0
[INFO] [stderr]    Compiling rustc-hex v2.1.0
[INFO] [stderr]    Compiling getrandom v0.2.11
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling byte-slice-cast v1.2.2
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]    Compiling arrayvec v0.7.4
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling der v0.6.1
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling base16ct v0.1.1
[INFO] [stderr]    Compiling cpufeatures v0.2.12
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling base64ct v1.6.0
[INFO] [stderr]    Compiling keccak v0.1.4
[INFO] [stderr]    Compiling serde_json v1.0.111
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling thiserror v1.0.56
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling indexmap v2.1.0
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling uint v0.9.5
[INFO] [stderr]    Compiling camino v1.1.6
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling semver v1.0.21
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling spki v0.6.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling pkcs8 v0.9.0
[INFO] [stderr]    Compiling fixed-hash v0.8.0
[INFO] [stderr]    Compiling ff v0.12.1
[INFO] [stderr]    Compiling group v0.12.1
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling pkg-config v0.3.28
[INFO] [stderr]    Compiling miniz_oxide v0.7.1
[INFO] [stderr]    Compiling bitcoin_hashes v0.11.0
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling toml_edit v0.20.2
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling unicode-segmentation v1.10.1
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-bigint v0.4.9
[INFO] [stderr]    Compiling inout v0.1.3
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sec1 v0.3.0
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling secp256k1-sys v0.6.1
[INFO] [stderr]    Compiling hidapi v2.4.1
[INFO] [stderr]    Compiling signature v1.6.4
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling regex-automata v0.4.3
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling flate2 v1.0.28
[INFO] [stderr]    Compiling rfc6979 v0.3.1
[INFO] [stderr]    Compiling elliptic-curve v0.12.3
[INFO] [stderr]    Compiling ecdsa v0.14.8
[INFO] [stderr]    Compiling password-hash v0.4.2
[INFO] [stderr]    Compiling bech32 v0.9.1
[INFO] [stderr]    Compiling fdeflate v0.3.3
[INFO] [stderr]    Compiling proc-macro-crate v2.0.1
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling k256 v0.11.6
[INFO] [stderr]    Compiling iana-time-zone v0.1.59
[INFO] [stderr]    Compiling chrono v0.4.31
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling protobuf v2.25.2
[INFO] [stderr]    Compiling emerald-hwkey v0.5.0
[INFO] [stderr]    Compiling deranged v0.3.11
[INFO] [stderr]    Compiling png v0.17.10
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr] error: could not compile `syn` (lib)
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/beta-2023-12-22-x86_64-unknown-linux-gnu/bin/rustc --crate-name syn --edition=2018 /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.109/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="extra-traits"' --cfg 'feature="fold"' --cfg 'feature="full"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' --cfg 'feature="quote"' --cfg 'feature="visit"' --cfg 'feature="visit-mut"' -C metadata=54fe0fd140b8e9d4 -C extra-filename=-54fe0fd140b8e9d4 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern proc_macro2=/opt/rustwide/target/debug/deps/libproc_macro2-2747560ddf7f5e4c.rmeta --extern quote=/opt/rustwide/target/debug/deps/libquote-6805d92ffe537084.rmeta --extern unicode_ident=/opt/rustwide/target/debug/deps/libunicode_ident-5215284c2c535675.rmeta --cap-lints allow --cap-lints=warn --cfg syn_disable_nightly_tests` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "9cd156bf4217c0518d4bffc7a56da808957b779c03050892de99f48045467fff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9cd156bf4217c0518d4bffc7a56da808957b779c03050892de99f48045467fff", kill_on_drop: false }`
[INFO] [stdout] 9cd156bf4217c0518d4bffc7a56da808957b779c03050892de99f48045467fff
