[INFO] cloning repository https://github.com/aMarketology/blackBook-ledger-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aMarketology/blackBook-ledger-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FaMarketology%2FblackBook-ledger-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FaMarketology%2FblackBook-ledger-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b1e876428112f9d8b0748e1cd2cd8f43c05f4089
[INFO] checking aMarketology/blackBook-ledger-rust against master#b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd for pr-155499
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FaMarketology%2FblackBook-ledger-rust" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/aMarketology/blackBook-ledger-rust
[INFO] finished tweaking git repo https://github.com/aMarketology/blackBook-ledger-rust
[INFO] tweaked toml for git repo https://github.com/aMarketology/blackBook-ledger-rust written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/aMarketology/blackBook-ledger-rust on toolchain b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/aMarketology/blackBook-ledger-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.105
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.105
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.105
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.105
[INFO] [stderr]   Downloaded derive_builder_macro v0.20.2
[INFO] [stderr]   Downloaded libp2p-connection-limits v0.3.1
[INFO] [stderr]   Downloaded rust_decimal_macros v1.39.0
[INFO] [stderr]   Downloaded libp2p-allow-block-list v0.3.0
[INFO] [stderr]   Downloaded libp2p-metrics v0.14.1
[INFO] [stderr]   Downloaded hex_fmt v0.3.0
[INFO] [stderr]   Downloaded diligent-date-parser v0.1.5
[INFO] [stderr]   Downloaded libp2p-yamux v0.45.2
[INFO] [stderr]   Downloaded futures-ticker v0.0.3
[INFO] [stderr]   Downloaded libp2p-mdns v0.45.1
[INFO] [stderr]   Downloaded libp2p-core v0.41.3
[INFO] [stderr]   Downloaded rss v2.0.12
[INFO] [stderr]   Downloaded cssparser v0.31.2
[INFO] [stderr]   Downloaded libp2p-swarm v0.44.2
[INFO] [stderr]   Downloaded libp2p-gossipsub v0.46.1
[INFO] [stderr]   Downloaded feed-rs v1.5.3
[INFO] [stderr]   Downloaded syn v2.0.108
[INFO] [stderr]   Downloaded rust_decimal v1.39.0
[INFO] [stderr]   Downloaded icu_properties_data v2.1.1
[INFO] [stderr]   Downloaded quick-xml v0.37.5
[INFO] [stderr]   Downloaded cc v1.2.43
[INFO] [stderr]   Downloaded openssl-sys v0.9.110
[INFO] [stderr]   Downloaded selectors v0.25.0
[INFO] [stderr]   Downloaded icu_properties v2.1.1
[INFO] [stderr]   Downloaded openssl v0.10.74
[INFO] [stderr]   Downloaded js-sys v0.3.82
[INFO] [stderr]   Downloaded libp2p v0.53.2
[INFO] [stderr]   Downloaded atom_syndication v0.12.7
[INFO] [stderr]   Downloaded derive_builder v0.20.2
[INFO] [stderr]   Downloaded libp2p-identify v0.44.2
[INFO] [stderr]   Downloaded libp2p-tcp v0.41.0
[INFO] [stderr]   Downloaded yamux v0.13.8
[INFO] [stderr]   Downloaded merkle v1.11.0
[INFO] [stderr]   Downloaded sled v0.34.7
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.55
[INFO] [stderr]   Downloaded derive_builder_core v0.20.2
[INFO] [stderr]   Downloaded scraper v0.17.1
[INFO] [stderr]   Downloaded libp2p-noise v0.44.0
[INFO] [stderr]   Downloaded ego-tree v0.6.3
[INFO] [stderr]   Downloaded servo_arc v0.3.0
[INFO] [stderr]   Downloaded web-sys v0.3.82
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0f17a24d347e951732110f569a0a565a207be3a49120238543fa95576578684e
[INFO] running `Command { std: "docker" "start" "-a" "0f17a24d347e951732110f569a0a565a207be3a49120238543fa95576578684e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0f17a24d347e951732110f569a0a565a207be3a49120238543fa95576578684e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f17a24d347e951732110f569a0a565a207be3a49120238543fa95576578684e", kill_on_drop: false }`
[INFO] [stdout] 0f17a24d347e951732110f569a0a565a207be3a49120238543fa95576578684e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] af6ff0f8f255e00faa9b645d7bfb5e5e6c734190c4910ed354cebbb0886d9ec5
[INFO] running `Command { std: "docker" "start" "-a" "af6ff0f8f255e00faa9b645d7bfb5e5e6c734190c4910ed354cebbb0886d9ec5", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]     Checking writeable v0.6.2
[INFO] [stderr]     Checking litemap v0.8.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]    Compiling cc v1.2.43
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking data-encoding v2.9.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking unsigned-varint v0.8.0
[INFO] [stderr]     Checking quick-protobuf v0.8.1
[INFO] [stderr]     Checking const-str v0.4.3
[INFO] [stderr]     Checking bs58 v0.5.1
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking core2 v0.4.0
[INFO] [stderr]     Checking base-x v0.2.11
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking unsigned-varint v0.7.2
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking multihash v0.19.3
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking dtoa v1.0.10
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]    Compiling openssl v0.10.74
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]     Checking iana-time-zone v0.1.64
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking precomputed-hash v0.1.1
[INFO] [stderr]     Checking hashbrown v0.16.0
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking mac v0.1.1
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking futf v0.1.5
[INFO] [stderr]     Checking phf v0.10.1
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]    Compiling snow v0.9.6
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling prometheus-client v0.22.3
[INFO] [stderr]     Checking openssl-probe v0.1.6
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking tendril v0.4.3
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking dtoa-short v0.3.5
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]    Compiling openssl-sys v0.9.110
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking netlink-sys v0.8.7
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking indexmap v2.12.0
[INFO] [stderr]    Compiling secp256k1-sys v0.9.2
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking quick-xml v0.37.5
[INFO] [stderr]     Checking servo_arc v0.3.0
[INFO] [stderr]    Compiling rust_decimal v1.39.0
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking hex_fmt v0.3.0
[INFO] [stderr]     Checking never v0.1.0
[INFO] [stderr]    Compiling merkle v1.11.0
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]     Checking getopts v0.2.24
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking quick-xml v0.31.0
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]    Compiling selectors v0.25.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]     Checking ego-tree v0.6.3
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking sled v0.34.7
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking ripemd v0.1.3
[INFO] [stderr]    Compiling markup5ever v0.11.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.20
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling match-lookup v0.1.1
[INFO] [stderr]    Compiling html5ever v0.26.0
[INFO] [stderr]     Checking base256emoji v1.0.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling data-encoding-macro-internal v0.1.16
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking data-encoding-macro v0.1.18
[INFO] [stderr]     Checking multibase v0.9.2
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling prometheus-client-derive-encode v0.4.2
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]     Checking netlink-packet-utils v0.5.2
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]     Checking netlink-packet-core v0.7.0
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]     Checking netlink-packet-route v0.17.1
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]    Compiling rust_decimal_macros v1.39.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking cssparser v0.31.2
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking string_cache v0.8.9
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking secp256k1 v0.28.2
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking asynchronous-codec v0.7.0
[INFO] [stderr]     Checking futures-bounded v0.2.4
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking libp2p-identity v0.2.12
[INFO] [stderr]     Checking multistream-select v0.13.0
[INFO] [stderr]     Checking rw-stream-sink v0.4.0
[INFO] [stderr]     Checking netlink-proto v0.11.5
[INFO] [stderr]     Checking yamux v0.13.8
[INFO] [stderr]     Checking futures-ticker v0.0.3
[INFO] [stderr]     Checking yamux v0.12.1
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking quick-protobuf-codec v0.3.1
[INFO] [stderr]     Checking icu_properties v2.1.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking rtnetlink v0.13.1
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking if-watch v3.2.1
[INFO] [stderr]     Checking diligent-date-parser v0.1.5
[INFO] [stderr]     Checking atom_syndication v0.12.7
[INFO] [stderr]     Checking scraper v0.17.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking rss v2.0.12
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking multiaddr v0.18.2
[INFO] [stderr]     Checking hickory-proto v0.24.4
[INFO] [stderr]     Checking feed-rs v1.5.3
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]     Checking hyper v1.7.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking libp2p-core v0.41.3
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]     Checking hyper-util v0.1.17
[INFO] [stderr]     Checking libp2p-swarm v0.44.2
[INFO] [stderr]     Checking libp2p-tcp v0.41.0
[INFO] [stderr]     Checking libp2p-noise v0.44.0
[INFO] [stderr]     Checking libp2p-yamux v0.45.2
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking libp2p-allow-block-list v0.3.0
[INFO] [stderr]     Checking libp2p-identify v0.44.2
[INFO] [stderr]     Checking libp2p-connection-limits v0.3.1
[INFO] [stderr]     Checking libp2p-gossipsub v0.46.1
[INFO] [stderr]     Checking libp2p-mdns v0.45.1
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking libp2p v0.53.2
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking blackbook-prediction-market v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/auth.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OrderStatus`
[INFO] [stdout]   --> src/orderbook/matching.rs:22:35
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Fill, LimitOrder, OrderError, OrderStatus, OrderType, Outcome, Side,
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/../rss/market_rss.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/auth.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/../rss/market_rss.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `market_rss::RssEvent`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/../rss/market_rss.rs:497:31
[INFO] [stdout]     |
[INFO] [stdout]  96 | pub struct RssEvent {
[INFO] [stdout]     | ------------------- associated function or constant `new` not found for this struct because `market_rss::RssEvent` doesn't implement `Default`, `FixedOutput`, `HashMarker` or `Update`
[INFO] [stdout] ...
[INFO] [stdout] 497 |         let event = RssEvent::new(
[INFO] [stdout]     |                               ^^^ associated function or constant cannot be called on `market_rss::RssEvent` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: Default`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: Default`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: Default`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout] note: the traits `FixedOutput`, `HashMarker`,  and `Update` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs:77:1
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub trait Update {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 | pub trait FixedOutput: Update + OutputSizeUser + Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/digest.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | pub trait HashMarker {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider annotating `market_rss::RssEvent` with `#[derive(Default)]`
[INFO] [stdout]     |
[INFO] [stdout]  96 + #[derive(Default)]
[INFO] [stdout]  97 | pub struct RssEvent {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `market_rss::RssEvent`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/../rss/market_rss.rs:515:31
[INFO] [stdout]     |
[INFO] [stdout]  96 | pub struct RssEvent {
[INFO] [stdout]     | ------------------- associated function or constant `new` not found for this struct because `market_rss::RssEvent` doesn't implement `Default`, `FixedOutput`, `HashMarker` or `Update`
[INFO] [stdout] ...
[INFO] [stdout] 515 |         let event = RssEvent::new(
[INFO] [stdout]     |                               ^^^ associated function or constant cannot be called on `market_rss::RssEvent` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: Default`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: Default`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: Default`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout] note: the traits `FixedOutput`, `HashMarker`,  and `Update` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs:77:1
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub trait Update {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 | pub trait FixedOutput: Update + OutputSizeUser + Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/digest.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | pub trait HashMarker {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider annotating `market_rss::RssEvent` with `#[derive(Default)]`
[INFO] [stdout]     |
[INFO] [stdout]  96 + #[derive(Default)]
[INFO] [stdout]  97 | pub struct RssEvent {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `market_rss::RssEvent`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/../rss/market_rss.rs:532:31
[INFO] [stdout]     |
[INFO] [stdout]  96 | pub struct RssEvent {
[INFO] [stdout]     | ------------------- associated function or constant `new` not found for this struct because `market_rss::RssEvent` doesn't implement `Default`, `FixedOutput`, `HashMarker` or `Update`
[INFO] [stdout] ...
[INFO] [stdout] 532 |         let event = RssEvent::new(
[INFO] [stdout]     |                               ^^^ associated function or constant cannot be called on `market_rss::RssEvent` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: Default`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: Default`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: Default`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout] note: the traits `FixedOutput`, `HashMarker`,  and `Update` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs:77:1
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub trait Update {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 | pub trait FixedOutput: Update + OutputSizeUser + Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/digest.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | pub trait HashMarker {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider annotating `market_rss::RssEvent` with `#[derive(Default)]`
[INFO] [stdout]     |
[INFO] [stdout]  96 + #[derive(Default)]
[INFO] [stdout]  97 | pub struct RssEvent {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other_reserves_product`
[INFO] [stdout]    --> src/market_resolve/cpmm.rs:365:13
[INFO] [stdout]     |
[INFO] [stdout] 365 |         let other_reserves_product: f64 = self.reserves.iter()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_other_reserves_product`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other_reserves_product`
[INFO] [stdout]    --> src/market_resolve/cpmm.rs:365:13
[INFO] [stdout]     |
[INFO] [stdout] 365 |         let other_reserves_product: f64 = self.reserves.iter()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_other_reserves_product`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bet_id`
[INFO] [stdout]    --> src/market_resolve/markets.rs:308:14
[INFO] [stdout]     |
[INFO] [stdout] 308 |         for (bet_id, bet) in self.bets.iter_mut() {
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bet_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `swap`
[INFO] [stdout]    --> src/market_resolve/cpmm.rs:813:13
[INFO] [stdout]     |
[INFO] [stdout] 813 |         let swap = result.unwrap();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_swap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bridge.rs:579:13
[INFO] [stdout]     |
[INFO] [stdout] 579 |         let mut bridge = PendingBridge::new(
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bet_id`
[INFO] [stdout]    --> src/market_resolve/markets.rs:308:14
[INFO] [stdout]     |
[INFO] [stdout] 308 |         for (bet_id, bet) in self.bets.iter_mut() {
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bet_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `users`
[INFO] [stdout]   --> src/auth.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let users = Arc::new(Mutex::new(Vec::<User>::new()));
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_users`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ledger.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |         let mut tx = Transaction::new(TxType::Deposit, &addr, amount, "");
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bridge.rs:579:13
[INFO] [stdout]     |
[INFO] [stdout] 579 |         let mut bridge = PendingBridge::new(
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `users`
[INFO] [stdout]   --> src/auth.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let users = Arc::new(Mutex::new(Vec::<User>::new()));
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_users`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ledger.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |         let mut tx = Transaction::new(TxType::Deposit, &addr, amount, "");
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/orderbook/matching.rs:573:25
[INFO] [stdout]     |
[INFO] [stdout] 573 |             if let Some(mut order) = self.orders.get_mut(&order_id) {
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/orderbook/matching.rs:573:25
[INFO] [stdout]     |
[INFO] [stdout] 573 |             if let Some(mut order) = self.orders.get_mut(&order_id) {
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `blackbook-prediction-market` (lib test) due to 3 previous errors; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `cpmm::*`
[INFO] [stdout]   --> src/market_resolve/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use cpmm::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `escrow::*`
[INFO] [stdout]   --> src/market_resolve/mod.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub use escrow::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `markets::*`
[INFO] [stdout]   --> src/market_resolve/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use markets::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/auth.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/models.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rpc::L1BlackBookRpc`
[INFO] [stdout]   --> src/app_state.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::rpc::L1BlackBookRpc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Fill`, `MarketOdds`, `OddsSource`, `OrderBookManager`, and `OrderStatus`
[INFO] [stdout]     --> src/handlers.rs:1595:34
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     LimitOrder, OrderType, Side, OrderStatus, Fill, Outcome,
[INFO] [stdout]      |                                  ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 1596 |     OrderBookManager, MarketOdds, OddsSource,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ShareBalance`, `SharePosition`, and `SharesManager`
[INFO] [stdout]     --> src/handlers.rs:1598:21
[INFO] [stdout]      |
[INFO] [stdout] 1598 | use crate::shares::{SharesManager, SharePosition, ShareBalance, OutcomeIndex};
[INFO] [stdout]      |                     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BridgeDirection`
[INFO] [stdout]     --> src/handlers.rs:2875:44
[INFO] [stdout]      |
[INFO] [stdout] 2875 | use crate::bridge::{BridgeCompleteRequest, BridgeDirection};
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `auth::*`
[INFO] [stdout]  --> src/routes/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use auth::*;
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OrderStatus`
[INFO] [stdout]   --> src/orderbook/matching.rs:22:35
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Fill, LimitOrder, OrderError, OrderStatus, OrderType, Outcome, Side,
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cpmm::*`
[INFO] [stdout]   --> src/market_resolve/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use cpmm::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `escrow::*`
[INFO] [stdout]   --> src/market_resolve/mod.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub use escrow::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `markets::*`
[INFO] [stdout]   --> src/market_resolve/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use markets::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/auth.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mint::*`
[INFO] [stdout]   --> src/shares/mod.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub use mint::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `redeem::*`
[INFO] [stdout]   --> src/shares/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use redeem::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/../rss/market_rss.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/models.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rpc::L1BlackBookRpc`
[INFO] [stdout]   --> src/app_state.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::rpc::L1BlackBookRpc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Fill`, `MarketOdds`, `OddsSource`, `OrderBookManager`, and `OrderStatus`
[INFO] [stdout]     --> src/handlers.rs:1595:34
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     LimitOrder, OrderType, Side, OrderStatus, Fill, Outcome,
[INFO] [stdout]      |                                  ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 1596 |     OrderBookManager, MarketOdds, OddsSource,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ShareBalance`, `SharePosition`, and `SharesManager`
[INFO] [stdout]     --> src/handlers.rs:1598:21
[INFO] [stdout]      |
[INFO] [stdout] 1598 | use crate::shares::{SharesManager, SharePosition, ShareBalance, OutcomeIndex};
[INFO] [stdout]      |                     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BridgeDirection`
[INFO] [stdout]     --> src/handlers.rs:2875:44
[INFO] [stdout]      |
[INFO] [stdout] 2875 | use crate::bridge::{BridgeCompleteRequest, BridgeDirection};
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `auth::*`
[INFO] [stdout]  --> src/routes/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use auth::*;
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mint::*`
[INFO] [stdout]   --> src/shares/mod.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub use mint::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `redeem::*`
[INFO] [stdout]   --> src/shares/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use redeem::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/../rss/market_rss.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `market_rss::RssEvent`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/../rss/market_rss.rs:497:31
[INFO] [stdout]     |
[INFO] [stdout]  96 | pub struct RssEvent {
[INFO] [stdout]     | ------------------- associated function or constant `new` not found for this struct because `market_rss::RssEvent` doesn't implement `FixedOutput`, `HashMarker`, `Update` or `std::default::Default`
[INFO] [stdout] ...
[INFO] [stdout] 497 |         let event = RssEvent::new(
[INFO] [stdout]     |                               ^^^ associated function or constant cannot be called on `market_rss::RssEvent` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: std::default::Default`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: std::default::Default`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: std::default::Default`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout] note: the traits `FixedOutput`, `HashMarker`,  and `Update` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs:77:1
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub trait Update {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 | pub trait FixedOutput: Update + OutputSizeUser + Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/digest.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | pub trait HashMarker {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider annotating `market_rss::RssEvent` with `#[derive(Default)]`
[INFO] [stdout]     |
[INFO] [stdout]  96 + #[derive(Default)]
[INFO] [stdout]  97 | pub struct RssEvent {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `market_rss::RssEvent`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/../rss/market_rss.rs:515:31
[INFO] [stdout]     |
[INFO] [stdout]  96 | pub struct RssEvent {
[INFO] [stdout]     | ------------------- associated function or constant `new` not found for this struct because `market_rss::RssEvent` doesn't implement `FixedOutput`, `HashMarker`, `Update` or `std::default::Default`
[INFO] [stdout] ...
[INFO] [stdout] 515 |         let event = RssEvent::new(
[INFO] [stdout]     |                               ^^^ associated function or constant cannot be called on `market_rss::RssEvent` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: std::default::Default`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: std::default::Default`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: std::default::Default`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout] note: the traits `FixedOutput`, `HashMarker`,  and `Update` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs:77:1
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub trait Update {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 | pub trait FixedOutput: Update + OutputSizeUser + Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/digest.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | pub trait HashMarker {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider annotating `market_rss::RssEvent` with `#[derive(Default)]`
[INFO] [stdout]     |
[INFO] [stdout]  96 + #[derive(Default)]
[INFO] [stdout]  97 | pub struct RssEvent {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `market_rss::RssEvent`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/../rss/market_rss.rs:532:31
[INFO] [stdout]     |
[INFO] [stdout]  96 | pub struct RssEvent {
[INFO] [stdout]     | ------------------- associated function or constant `new` not found for this struct because `market_rss::RssEvent` doesn't implement `FixedOutput`, `HashMarker`, `Update` or `std::default::Default`
[INFO] [stdout] ...
[INFO] [stdout] 532 |         let event = RssEvent::new(
[INFO] [stdout]     |                               ^^^ associated function or constant cannot be called on `market_rss::RssEvent` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: std::default::Default`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: std::default::Default`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `&market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: FixedOutput`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: std::default::Default`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: Update`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout]             `&mut market_rss::RssEvent: HashMarker`
[INFO] [stdout]             which is required by `&mut market_rss::RssEvent: sha2::Digest`
[INFO] [stdout] note: the traits `FixedOutput`, `HashMarker`,  and `Update` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs:77:1
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub trait Update {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 | pub trait FixedOutput: Update + OutputSizeUser + Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/digest.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | pub trait HashMarker {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider annotating `market_rss::RssEvent` with `#[derive(Default)]`
[INFO] [stdout]     |
[INFO] [stdout]  96 + #[derive(Default)]
[INFO] [stdout]  97 | pub struct RssEvent {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other_reserves_product`
[INFO] [stdout]    --> src/market_resolve/cpmm.rs:365:13
[INFO] [stdout]     |
[INFO] [stdout] 365 |         let other_reserves_product: f64 = self.reserves.iter()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_other_reserves_product`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other_reserves_product`
[INFO] [stdout]    --> src/market_resolve/cpmm.rs:365:13
[INFO] [stdout]     |
[INFO] [stdout] 365 |         let other_reserves_product: f64 = self.reserves.iter()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_other_reserves_product`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `swap`
[INFO] [stdout]    --> src/market_resolve/cpmm.rs:813:13
[INFO] [stdout]     |
[INFO] [stdout] 813 |         let swap = result.unwrap();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_swap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bet_id`
[INFO] [stdout]    --> src/market_resolve/markets.rs:308:14
[INFO] [stdout]     |
[INFO] [stdout] 308 |         for (bet_id, bet) in self.bets.iter_mut() {
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bet_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bet_id`
[INFO] [stdout]    --> src/market_resolve/markets.rs:308:14
[INFO] [stdout]     |
[INFO] [stdout] 308 |         for (bet_id, bet) in self.bets.iter_mut() {
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bet_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `users`
[INFO] [stdout]   --> src/auth.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let users = Arc::new(Mutex::new(Vec::<User>::new()));
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_users`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `users`
[INFO] [stdout]   --> src/auth.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let users = Arc::new(Mutex::new(Vec::<User>::new()));
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_users`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bridge.rs:579:13
[INFO] [stdout]     |
[INFO] [stdout] 579 |         let mut bridge = PendingBridge::new(
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bridge.rs:579:13
[INFO] [stdout]     |
[INFO] [stdout] 579 |         let mut bridge = PendingBridge::new(
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ledger.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |         let mut tx = Transaction::new(TxType::Deposit, &addr, amount, "");
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ledger.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |         let mut tx = Transaction::new(TxType::Deposit, &addr, amount, "");
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bridge`
[INFO] [stdout]     --> src/handlers.rs:2912:21
[INFO] [stdout]      |
[INFO] [stdout] 2912 |     let (bridge_id, bridge) = {
[INFO] [stdout]      |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bridge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]     --> src/handlers.rs:3383:9
[INFO] [stdout]      |
[INFO] [stdout] 3383 |     let now = std::time::SystemTime::now()
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bridge`
[INFO] [stdout]     --> src/handlers.rs:2912:21
[INFO] [stdout]      |
[INFO] [stdout] 2912 |     let (bridge_id, bridge) = {
[INFO] [stdout]      |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bridge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]     --> src/handlers.rs:3383:9
[INFO] [stdout]      |
[INFO] [stdout] 3383 |     let now = std::time::SystemTime::now()
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/orderbook/matching.rs:573:25
[INFO] [stdout]     |
[INFO] [stdout] 573 |             if let Some(mut order) = self.orders.get_mut(&order_id) {
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/orderbook/matching.rs:573:25
[INFO] [stdout]     |
[INFO] [stdout] 573 |             if let Some(mut order) = self.orders.get_mut(&order_id) {
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_trading_open`, `is_live`, `is_terminal`, `can_add_liquidity`, and `emoji` are never used
[INFO] [stdout]   --> src/market_resolve/cpmm.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl EventStatus {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 53 |     /// Check if trading is allowed in this status
[INFO] [stdout] 54 |     pub fn is_trading_open(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn is_live(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn is_terminal(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn can_add_liquidity(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn emoji(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_expired`, and `days_until_expiration` are never used
[INFO] [stdout]    --> src/market_resolve/cpmm.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl PendingEvent {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 156 |     /// Create a new pending event from AI scraper data
[INFO] [stdout] 157 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn is_expired(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn days_until_expiration(&self) -> Option<i64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINIMUM_LAUNCH_LIQUIDITY` is never used
[INFO] [stdout]    --> src/market_resolve/cpmm.rs:238:11
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub const MINIMUM_LAUNCH_LIQUIDITY: f64 = 1000.0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIABILITY_PERIOD_SECONDS` is never used
[INFO] [stdout]    --> src/market_resolve/cpmm.rs:244:11
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub const VIABILITY_PERIOD_SECONDS: u64 = 72 * 60 * 60;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `calculate_cost`, `swap`, `remove_liquidity`, `get_lp_share`, `get_pending_fees`, and `compound_fees` are never used
[INFO] [stdout]    --> src/market_resolve/cpmm.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | impl CPMMPool {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn calculate_cost(&self, outcome_index: usize, amount: f64) -> Result<(f64, f64, f64), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub fn swap(&mut self, outcome_index: usize, amount: f64, max_cost: Option<f64>) -> Result<SwapResult, String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 652 |     pub fn remove_liquidity(&mut self, account: &str, share_to_remove: f64) -> Result<f64, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 707 |     pub fn get_lp_share(&self, account: &str) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 712 |     pub fn get_pending_fees(&self, account: &str) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 718 |     pub fn compound_fees(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SwapResult` is never constructed
[INFO] [stdout]    --> src/market_resolve/cpmm.rs:732:12
[INFO] [stdout]     |
[INFO] [stdout] 732 | pub struct SwapResult {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `accounts`, `balances`, `transactions`, `recipes`, `market_manager`, and `escrow_manager` are never read
[INFO] [stdout]   --> src/market_resolve/ledger.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Ledger {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 11 |     /// Mapping from display name -> wallet address (L1_... uppercase)
[INFO] [stdout] 12 |     pub accounts: HashMap<String, String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub balances: HashMap<String, f64>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub transactions: Vec<Transaction>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub recipes: Vec<Recipe>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub market_manager: MarketManager,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub escrow_manager: EscrowManager,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ledger` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/market_resolve/ledger.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl Ledger {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn new_partial_node() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn new_light_node() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     fn create_recipe(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn resolve_address(&self, id: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn get_balance(&self, address_or_name: &str) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn add_tokens(&mut self, address_or_name: &str, amount: f64) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn deposit(&mut self, to_address_or_name: &str, amount: f64, _memo: &str) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn transfer(&mut self, from_or_name: &str, to_or_name: &str, amount: f64) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     pub fn place_bet(&mut self, from_or_name: &str, market_id: &str, amount: f64) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub fn get_all_transactions(&self) -> Vec<Transaction> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     pub fn get_account_transactions(&self, address_or_name: &str) -> Vec<Transaction> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn get_stats(&self) -> HashMap<String, serde_json::Value> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn get_all_recipes(&self) -> Vec<Recipe> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 394 |     pub fn get_account_recipes(&self, address_or_name: &str) -> Vec<Recipe> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     pub fn get_recipes_by_type(&self, recipe_type: &str) -> Vec<Recipe> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 413 |     pub fn get_account_recipes_by_type(&self, address_or_name: &str, recipe_type: &str) -> Vec<Recipe> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 426 |     pub fn get_recipes_sorted(&self) -> Vec<Recipe> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 |     pub fn get_account_recipes_sorted(&self, address_or_name: &str) -> Vec<Recipe> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     pub fn record_bet_win(&mut self, address_or_name: &str, amount: f64, bet_id: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 452 |     pub fn record_bet_loss(&mut self, address_or_name: &str, amount: f64, bet_id: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 465 |     pub fn place_market_bet(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 538 |     pub fn resolve_market_with_escrow(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 607 |     pub fn admin_mint_tokens(&mut self, account_or_name: &str, amount: f64) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 656 |     pub fn admin_set_balance(&mut self, account_or_name: &str, new_balance: f64) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `accounts` and `market_escrows` are never read
[INFO] [stdout]   --> src/market_resolve/escrow.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct EscrowManager {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 31 |     accounts: HashMap<String, EscrowAccount>, // escrow_id -> EscrowAccount
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 32 |     market_escrows: HashMap<String, Vec<String>>, // market_id -> [escrow_ids]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EscrowManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/market_resolve/escrow.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl EscrowManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  44 |     pub fn create_escrow(&mut self, market_id: &str) -> EscrowAccount {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn lock_funds(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn release_funds(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn refund_market(&mut self, market_id: &str) -> Result<HashMap<String, u64>, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn get_escrow(&self, market_id: &str) -> Option<EscrowAccount> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn get_locked_balance(&self, market_id: &str, account: &str) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn mark_resolved(&mut self, market_id: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn list_escrows(&self) -> Vec<EscrowAccount> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn total_locked(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/market_resolve/markets.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl MarketManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn create_market(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn place_bet(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn rebalance_odds(&mut self, market_id: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn close_market(&mut self, market_id: String) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn resolve_market(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn get_open_markets(&self) -> Vec<Market> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn get_account_bets(&self, account: &str) -> Vec<Bet> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     pub fn get_market_stats(&self, market_id: &str) -> Option<MarketStats> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarketStats` is never constructed
[INFO] [stdout]    --> src/market_resolve/markets.rs:365:12
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub struct MarketStats {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_wallet_address` is never used
[INFO] [stdout]   --> src/auth.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn generate_wallet_address(user_id: &str, username: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `new_test_account` are never used
[INFO] [stdout]   --> src/auth.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl User {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 40 |     /// Create a new real user with generated wallet
[INFO] [stdout] 41 |     pub fn new(id: String, username: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn new_test_account(username: String, wallet_address: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserRegistry` is never constructed
[INFO] [stdout]   --> src/auth.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct UserRegistry {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/auth.rs:80:12
[INFO] [stdout]     |
[INFO] [stdout]  79 | impl UserRegistry {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  80 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub async fn add_user(&self, user: User) -> Result<(), String> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub async fn get_user_by_id(&self, id: &str) -> Option<User> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub async fn get_user_by_wallet(&self, wallet_address: &str) -> Option<User> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub async fn get_all_users(&self) -> Vec<User> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub async fn get_real_users(&self) -> Vec<User> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub async fn get_test_accounts(&self) -> Vec<User> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_env` and `verify_token` are never used
[INFO] [stdout]    --> src/auth.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl SupabaseConfig {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 157 |     pub fn from_env() -> Result<Self, String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub async fn verify_token(&self, token: &str) -> Result<String, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignupRequest` is never constructed
[INFO] [stdout]    --> src/auth.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub struct SignupRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoginRequest` is never constructed
[INFO] [stdout]    --> src/auth.rs:207:12
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub struct LoginRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AuthResponse` is never constructed
[INFO] [stdout]    --> src/auth.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub struct AuthResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BB_TOKEN_VALUE_USD` is never used
[INFO] [stdout]   --> src/easteregg/godmode.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const BB_TOKEN_VALUE_USD: f64 = 0.01;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `signing_key` and `verifying_key` are never read
[INFO] [stdout]   --> src/easteregg/godmode.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct TestAccount {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 43 |     pub name: String,
[INFO] [stdout] 44 |     pub signing_key: SigningKey,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 45 |     pub verifying_key: VerifyingKey,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestAccount` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `sign`, `sign_hex`, `verify`, and `verify_hex` are never used
[INFO] [stdout]   --> src/easteregg/godmode.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl TestAccount {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn sign(&self, message: &[u8]) -> Signature {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn sign_hex(&self, message: &[u8]) -> String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn verify(&self, message: &[u8], signature: &Signature) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn verify_hex(&self, message: &[u8], signature_hex: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountInfo` is never constructed
[INFO] [stdout]    --> src/easteregg/godmode.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct AccountInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enabled`, `admin`, and `address_to_name` are never read
[INFO] [stdout]    --> src/easteregg/godmode.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct GodMode {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 147 |     /// Whether god mode is enabled
[INFO] [stdout] 148 |     pub enabled: bool,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub admin: TestAccount,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub address_to_name: HashMap<String, String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/easteregg/godmode.rs:196:12
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl GodMode {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn from_env() -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn get_account(&self, name: &str) -> Option<&TestAccount> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn get_account_by_address(&self, address: &str) -> Option<&TestAccount> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn list_accounts(&self) -> Vec<AccountInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn resolve_address(&self, identifier: &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub fn verify_admin_signature(&self, message: &[u8], signature_hex: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn verify_signature(&self, address: &str, message: &[u8], signature_hex: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn mint(&self, address: &str, amount: f64) -> Result<MintOperation, GodModeError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn burn(&self, address: &str, amount: f64) -> Result<BurnOperation, GodModeError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn set_balance(&self, address: &str, balance: f64) -> Result<SetBalanceOperation, GodModeError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub fn airdrop(&self, addresses: &[&str], amount: f64) -> Result<AirdropOperation, GodModeError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn admin_sign(&self, message: &[u8]) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     pub fn admin_address(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 351 |     pub fn admin_public_key(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MintOperation` is never constructed
[INFO] [stdout]    --> src/easteregg/godmode.rs:367:12
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub struct MintOperation {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BurnOperation` is never constructed
[INFO] [stdout]    --> src/easteregg/godmode.rs:374:12
[INFO] [stdout]     |
[INFO] [stdout] 374 | pub struct BurnOperation {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SetBalanceOperation` is never constructed
[INFO] [stdout]    --> src/easteregg/godmode.rs:381:12
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub struct SetBalanceOperation {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AirdropOperation` is never constructed
[INFO] [stdout]    --> src/easteregg/godmode.rs:388:12
[INFO] [stdout]     |
[INFO] [stdout] 388 | pub struct AirdropOperation {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GodModeError` is never used
[INFO] [stdout]    --> src/easteregg/godmode.rs:400:10
[INFO] [stdout]     |
[INFO] [stdout] 400 | pub enum GodModeError {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedMessage` is never constructed
[INFO] [stdout]    --> src/easteregg/godmode.rs:427:12
[INFO] [stdout]     |
[INFO] [stdout] 427 | pub struct SignedMessage {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `verify`, and `is_expired` are never used
[INFO] [stdout]    --> src/easteregg/godmode.rs:437:12
[INFO] [stdout]     |
[INFO] [stdout] 435 | impl SignedMessage {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 436 |     /// Create a new signed message
[INFO] [stdout] 437 |     pub fn new(payload: serde_json::Value, account: &TestAccount, nonce: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 458 |     pub fn verify(&self, godmode: &GodMode) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 464 |     pub fn is_expired(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BRIDGE_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/bridge.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const BRIDGE_TIMEOUT_SECS: u64 = 300;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_BRIDGE_AMOUNT` is never used
[INFO] [stdout]   --> src/bridge.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const MIN_BRIDGE_AMOUNT: f64 = 0.01;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BRIDGE_AMOUNT` is never used
[INFO] [stdout]   --> src/bridge.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const MAX_BRIDGE_AMOUNT: f64 = 1_000_000.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/bridge.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl BridgeStatus {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 51 |     pub fn as_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_layers` is never used
[INFO] [stdout]   --> src/bridge.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl BridgeDirection {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 80 |     pub fn from_layers(from: &str, to: &str) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_expired` and `age_secs` are never used
[INFO] [stdout]    --> src/bridge.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl PendingBridge {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn is_expired(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn age_secs(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BridgeRequest` is never constructed
[INFO] [stdout]    --> src/bridge.rs:257:12
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub struct BridgeRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BridgeResponse` is never constructed
[INFO] [stdout]    --> src/bridge.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct BridgeResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BridgeCompleteResponse` is never constructed
[INFO] [stdout]    --> src/bridge.rs:290:12
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub struct BridgeCompleteResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BridgeStatusResponse` is never constructed
[INFO] [stdout]    --> src/bridge.rs:299:12
[INFO] [stdout]     |
[INFO] [stdout] 299 | pub struct BridgeStatusResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `initiate`, `list_pending`, `fail_bridge`, `confirm_bridge`, `complete_bridge`, and `cleanup_expired` are never used
[INFO] [stdout]    --> src/bridge.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout] 318 | impl BridgeManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 333 |     pub fn initiate(
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 453 |     pub fn list_pending(&self) -> Vec<PendingBridge> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 478 |     pub fn fail_bridge(&self, bridge_id: &str, error: String) -> Result<(), BridgeError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 492 |     pub fn confirm_bridge(&self, bridge_id: &str, l1_tx_hash: String, l1_slot: u64) -> Result<(), BridgeError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 506 |     pub fn complete_bridge(&self, bridge_id: &str) -> Result<PendingBridge, BridgeError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 520 |     pub fn cleanup_expired(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `complete_withdrawal` and `get_pending_l2_to_l1` are never used
[INFO] [stdout]    --> src/bridge.rs:626:12
[INFO] [stdout]     |
[INFO] [stdout] 571 | impl BridgeManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 626 |     pub fn complete_withdrawal(&self, bridge_id: &str, l1_tx_hash: String, l1_slot: u64) -> Result<PendingBridge, BridgeError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 658 |     pub fn get_pending_l2_to_l1(&self) -> Vec<PendingBridge> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedBetRequest` is never constructed
[INFO] [stdout]    --> src/models.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub struct SignedBetRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `initial_probabilities` is never read
[INFO] [stdout]    --> src/models.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 321 | pub struct CreateMarketRequest {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 347 |     pub initial_probabilities: Option<Vec<f64>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateMarketRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_on_layer`, `unlock`, and `settle` are never used
[INFO] [stdout]   --> src/ledger.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl Balance {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn new_on_layer(amount: f64, layer: Layer) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn unlock(&mut self, amount: f64) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn settle(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `payout`, `bridge_initiate`, `bridge_complete`, and `deposit` are never used
[INFO] [stdout]    --> src/ledger.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl Transaction {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub fn payout(to: &str, market_id: &str, amount: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn bridge_initiate(from: &str, amount: f64, from_layer: Layer, to_layer: Layer, sig: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn bridge_complete(to: &str, amount: f64, layer: Layer) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn deposit(to: &str, amount: f64, layer: Layer) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `l1_url` is never read
[INFO] [stdout]    --> src/ledger.rs:316:9
[INFO] [stdout]     |
[INFO] [stdout] 306 | pub struct Ledger {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub l1_url: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ledger` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/ledger.rs:451:12
[INFO] [stdout]     |
[INFO] [stdout] 321 | impl Ledger {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 451 |     pub fn add_tokens(&mut self, id: &str, amount: f64) -> Result<f64, String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 464 |     pub fn payout(&mut self, to: &str, amount: f64, market_id: &str) -> Result<f64, String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     pub fn unlock_bet(&mut self, account: &str, bet_amount: f64, market_id: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 493 |     pub fn get_transactions(&self, id: &str) -> Vec<&Transaction> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 504 |     pub fn recent_transactions(&self, limit: usize) -> Vec<&Transaction> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 566 |     pub fn clear_transactions(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 573 |     pub fn add_reconstructed_transaction(&mut self, tx: Transaction) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 579 |     pub fn locked_balance(&self, id: &str) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 587 |     pub fn total_balance(&self, id: &str) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 595 |     pub fn full_balance(&self, id: &str) -> Option<FullBalanceInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 611 |     pub fn get_transactions_by_type(&self, tx_type: TxType) -> Vec<&Transaction> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 618 |     pub fn get_transactions_by_layer(&self, layer: Layer) -> Vec<&Transaction> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 625 |     pub fn get_transactions_by_status(&self, status: FundStatus) -> Vec<&Transaction> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 632 |     pub fn get_locked_funds(&self) -> Vec<&Transaction> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 639 |     pub fn unified_view(&self) -> UnifiedLedgerView {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FullBalanceInfo` is never constructed
[INFO] [stdout]    --> src/ledger.rs:708:12
[INFO] [stdout]     |
[INFO] [stdout] 708 | pub struct FullBalanceInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountSummary` is never constructed
[INFO] [stdout]    --> src/ledger.rs:720:12
[INFO] [stdout]     |
[INFO] [stdout] 720 | pub struct AccountSummary {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnifiedLedgerView` is never constructed
[INFO] [stdout]    --> src/ledger.rs:730:12
[INFO] [stdout]     |
[INFO] [stdout] 730 | pub struct UnifiedLedgerView {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `L1Client` is never constructed
[INFO] [stdout]    --> src/ledger.rs:747:12
[INFO] [stdout]     |
[INFO] [stdout] 747 | pub struct L1Client {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_balance`, `verify_signature`, and `get_nonce` are never used
[INFO] [stdout]    --> src/ledger.rs:754:12
[INFO] [stdout]     |
[INFO] [stdout] 753 | impl L1Client {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 754 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 766 |     pub async fn get_balance(&self, address: &str) -> Result<f64, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 785 |     pub async fn verify_signature(&self, address: &str, message: &str, signature: &str) -> Result<bool, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 814 |     pub async fn get_nonce(&self, address: &str) -> Result<u64, String> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hash` is never used
[INFO] [stdout]    --> src/ledger.rs:845:8
[INFO] [stdout]     |
[INFO] [stdout] 845 | pub fn hash(data: &str) -> String {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BalanceResponse` is never constructed
[INFO] [stdout]    --> src/ledger.rs:854:12
[INFO] [stdout]     |
[INFO] [stdout] 854 | pub struct BalanceResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransactionResponse` is never constructed
[INFO] [stdout]    --> src/ledger.rs:865:12
[INFO] [stdout]     |
[INFO] [stdout] 865 | pub struct TransactionResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `record_bet` is never used
[INFO] [stdout]   --> src/app_state.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl L2Session {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn record_bet(&mut self, amount: f64, won: bool, payout: f64) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mark_high_value` is never used
[INFO] [stdout]    --> src/app_state.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl OracleConfig {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn mark_high_value(&mut self, market_id: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `market_ledger`, `supabase_config`, `supabase_users`, and `pending_events` are never read
[INFO] [stdout]    --> src/app_state.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub struct AppState {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 236 |     /// Core market ledger (for CPMM/pool logic)
[INFO] [stdout] 237 |     pub market_ledger: MarketLedger,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub supabase_config: SupabaseConfig,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 248 |     pub supabase_users: HashMap<String, User>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub pending_events: Vec<PendingEvent>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_balance` is never used
[INFO] [stdout]    --> src/app_state.rs:326:12
[INFO] [stdout]     |
[INFO] [stdout] 269 | impl AppState {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub fn get_balance(&self, id: &str) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `settle_to_l1` is never used
[INFO] [stdout]     --> src/handlers.rs:1563:14
[INFO] [stdout]      |
[INFO] [stdout] 1563 | pub async fn settle_to_l1(State(_state): State<SharedState>) -> Json<Value> {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `signature` and `resolution_reason` are never read
[INFO] [stdout]     --> src/handlers.rs:2288:9
[INFO] [stdout]      |
[INFO] [stdout] 2284 | pub struct ResolveMarketRequest {
[INFO] [stdout]      |            -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 2288 |     pub signature: String,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2292 |     pub resolution_reason: Option<String>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ResolveMarketRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `signature` and `nonce` are never read
[INFO] [stdout]     --> src/handlers.rs:2583:9
[INFO] [stdout]      |
[INFO] [stdout] 2581 | pub struct ClaimWinningsRequest {
[INFO] [stdout]      |            -------------------- fields in this struct
[INFO] [stdout] 2582 |     pub wallet: String,
[INFO] [stdout] 2583 |     pub signature: Option<String>,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] 2584 |     pub nonce: Option<u64>,
[INFO] [stdout]      |         ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ClaimWinningsRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `admin_address` is never read
[INFO] [stdout]     --> src/handlers.rs:2764:9
[INFO] [stdout]      |
[INFO] [stdout] 2760 | pub struct SettlementRequest {
[INFO] [stdout]      |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 2764 |     pub admin_address: Option<String>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SettlementRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]   --> src/routes/auth.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct ConnectWalletRequest {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub timestamp: Option<u64>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectWalletRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `address` is never read
[INFO] [stdout]   --> src/routes/auth.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct L1BalanceResponse {
[INFO] [stdout]    |        ----------------- field in this struct
[INFO] [stdout] 33 |     address: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `L1BalanceResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_wallet_balance` is never used
[INFO] [stdout]    --> src/routes/auth.rs:164:14
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub async fn get_wallet_balance(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `init_market`, `execute_market_order`, `execute_cpmm_trade`, `has_sufficient_liquidity`, `add_cpmm_liquidity`, and `remove_cpmm_liquidity` are never used
[INFO] [stdout]    --> src/orderbook/mod.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl OrderBookManager {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn init_market(&mut self, market_id: &str, initial_liquidity: Option<f64>) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn execute_market_order(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn execute_cpmm_trade(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     fn has_sufficient_liquidity(&self, snapshot: &OrderBookSnapshot, size: f64) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 452 |     pub fn add_cpmm_liquidity(&mut self, market_id: &str, amount: f64, provider: &str) -> Result<f64, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 467 |     pub fn remove_cpmm_liquidity(&mut self, market_id: &str, share_to_remove: f64, provider: &str) -> Result<f64, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `error` is never used
[INFO] [stdout]    --> src/orderbook/mod.rs:504:12
[INFO] [stdout]     |
[INFO] [stdout] 503 | impl OrderSubmitResult {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 504 |     pub fn error(msg: String) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/orderbook/orders.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Side {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn as_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_terminal` is never used
[INFO] [stdout]    --> src/orderbook/orders.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl OrderStatus {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn is_terminal(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `market_order`, `price`, `expire`, and `required_collateral` are never used
[INFO] [stdout]    --> src/orderbook/orders.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 198 | impl LimitOrder {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn market_order(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn price(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn expire(&mut self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn required_collateral(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlaceOrderRequest` is never constructed
[INFO] [stdout]    --> src/orderbook/orders.rs:462:12
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub struct PlaceOrderRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CancelOrderRequest` is never constructed
[INFO] [stdout]    --> src/orderbook/orders.rs:477:12
[INFO] [stdout]     |
[INFO] [stdout] 477 | pub struct CancelOrderRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/orderbook/orders.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 491 | pub enum OrderError {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 494 |     InvalidOutcome(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 495 |     InsufficientBalance(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 496 |     InsufficientShares(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 500 |     MarketNotFound(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 501 |     MarketClosed(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 502 |     InvalidSignature(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 503 |     InvalidNonce(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 504 |     Expired(String),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OrderError` 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: methods `get_best_prices`, `get_order`, and `cleanup_expired_orders` are never used
[INFO] [stdout]    --> src/orderbook/matching.rs:529:12
[INFO] [stdout]     |
[INFO] [stdout] 231 | impl MatchingEngine {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 529 |     pub fn get_best_prices(&self, market_id: &str, outcome: Outcome) -> (Option<u64>, Option<u64>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 550 |     pub fn get_order(&self, order_id: &str) -> Option<&LimitOrder> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 564 |     pub fn cleanup_expired_orders(&mut self) -> Vec<LimitOrder> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `implied_probability` and `odds` are never used
[INFO] [stdout]    --> src/orderbook/matching.rs:622:12
[INFO] [stdout]     |
[INFO] [stdout] 618 | impl OrderBookSnapshot {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 622 |     pub fn implied_probability(&self) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 627 |     pub fn odds(&self) -> (f64, f64) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_SHARE_SIZE` is never used
[INFO] [stdout]   --> src/shares/mod.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const MIN_SHARE_SIZE: f64 = 0.01;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SHARE_SIZE` is never used
[INFO] [stdout]   --> src/shares/mod.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const MAX_SHARE_SIZE: f64 = 1_000_000.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `opposite` is never used
[INFO] [stdout]   --> src/shares/mod.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl OutcomeIndex {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn opposite(&self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_unrealized_pnl`, `has_shares`, and `value_at` are never used
[INFO] [stdout]    --> src/shares/mod.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl SharePosition {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn update_unrealized_pnl(&mut self, current_price: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn has_shares(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn value_at(&self, price: f64) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_market_positions`, `active_positions`, and `update_totals` are never used
[INFO] [stdout]    --> src/shares/mod.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl ShareBalance {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn get_market_positions(&self, market_id: &str) -> Vec<&SharePosition> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     pub fn active_positions(&self) -> Vec<&SharePosition> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn update_totals(&mut self, price_fn: impl Fn(&str, OutcomeIndex) -> f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_total_supply`, `get_user_positions`, and `get_wallet_transactions` are never used
[INFO] [stdout]    --> src/shares/mod.rs:358:12
[INFO] [stdout]     |
[INFO] [stdout] 331 | impl SharesManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 358 |     pub fn get_total_supply(&self, market_id: &str, outcome: OutcomeIndex) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     pub fn get_user_positions(&self, wallet: &str) -> UserPositionsSummary {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 485 |     pub fn get_wallet_transactions(&self, wallet: &str, limit: usize) -> Vec<&ShareTransaction> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserPositionsSummary` is never constructed
[INFO] [stdout]    --> src/shares/mod.rs:640:12
[INFO] [stdout]     |
[INFO] [stdout] 640 | pub struct UserPositionsSummary {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `empty` is never used
[INFO] [stdout]    --> src/shares/mod.rs:649:12
[INFO] [stdout]     |
[INFO] [stdout] 648 | impl UserPositionsSummary {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 649 |     pub fn empty(wallet: &str) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PositionInfo` is never constructed
[INFO] [stdout]    --> src/shares/mod.rs:662:12
[INFO] [stdout]     |
[INFO] [stdout] 662 | pub struct PositionInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MintRequest` is never constructed
[INFO] [stdout]   --> src/shares/mint.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MintRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MintResult` is never constructed
[INFO] [stdout]   --> src/shares/mint.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct MintResult {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `success` and `error` are never used
[INFO] [stdout]   --> src/shares/mint.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl MintResult {
[INFO] [stdout]    | --------------- associated functions in this implementation
[INFO] [stdout] 74 |     pub fn success(
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn error(market_id: String, wallet: String, msg: String) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MintRecord` is never constructed
[INFO] [stdout]    --> src/shares/mint.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct MintRecord {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINT_FEE_RATE` is never used
[INFO] [stdout]    --> src/shares/mint.rs:133:11
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub const MINT_FEE_RATE: f64 = 0.0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_mint` is never used
[INFO] [stdout]    --> src/shares/mint.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn execute_mint<F, G>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_mint_output` is never used
[INFO] [stdout]    --> src/shares/mint.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn calculate_mint_output(bb_amount: f64) -> (f64, f64, f64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_mint_input` is never used
[INFO] [stdout]    --> src/shares/mint.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub fn calculate_mint_input(desired_shares: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `now` is never used
[INFO] [stdout]    --> src/shares/mint.rs:254:4
[INFO] [stdout]     |
[INFO] [stdout] 254 | fn now() -> u64 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RedeemRequest` is never constructed
[INFO] [stdout]   --> src/shares/redeem.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct RedeemRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RedeemResult` is never constructed
[INFO] [stdout]   --> src/shares/redeem.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct RedeemResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `success` and `error` are never used
[INFO] [stdout]    --> src/shares/redeem.rs:81:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl RedeemResult {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout]  81 |     pub fn success(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn error(market_id: String, wallet: String, msg: String) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REDEEM_FEE_RATE` is never used
[INFO] [stdout]    --> src/shares/redeem.rs:126:11
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub const REDEEM_FEE_RATE: f64 = 0.0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_paired_redeem` is never used
[INFO] [stdout]    --> src/shares/redeem.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn execute_paired_redeem<F>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_resolution_redeem` is never used
[INFO] [stdout]    --> src/shares/redeem.rs:297:8
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub fn execute_resolution_redeem<F>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResolutionPayout` is never constructed
[INFO] [stdout]    --> src/shares/redeem.rs:334:12
[INFO] [stdout]     |
[INFO] [stdout] 334 | pub struct ResolutionPayout {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_arbitrage_opportunity` is never used
[INFO] [stdout]    --> src/shares/redeem.rs:357:8
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub fn check_arbitrage_opportunity(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ArbitrageType` is never used
[INFO] [stdout]    --> src/shares/redeem.rs:401:10
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub enum ArbitrageType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArbitrageOpportunity` is never constructed
[INFO] [stdout]    --> src/shares/redeem.rs:410:12
[INFO] [stdout]     |
[INFO] [stdout] 410 | pub struct ArbitrageOpportunity {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_redeemable_sets` is never used
[INFO] [stdout]    --> src/shares/redeem.rs:420:8
[INFO] [stdout]     |
[INFO] [stdout] 420 | pub fn max_redeemable_sets(yes_shares: f64, no_shares: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `now` is never used
[INFO] [stdout]    --> src/shares/redeem.rs:428:4
[INFO] [stdout]     |
[INFO] [stdout] 428 | fn now() -> u64 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `empty`, and `has_rules_for` are never used
[INFO] [stdout]   --> src/../rss/market_rss.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl ResolutionRules {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 59 |     /// Create new resolution rules
[INFO] [stdout] 60 |     pub fn new(conditions: HashMap<String, String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn empty() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn has_rules_for(&self, outcomes: &[String]) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate_content_hash`, `validate`, `calculate_initial_reserves`, `get_favorite`, `is_three_choice`, and `is_binary` are never used
[INFO] [stdout]    --> src/../rss/market_rss.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | impl RssEvent {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn generate_content_hash(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn validate(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn calculate_initial_reserves(&self, total_liquidity: f64) -> Vec<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn get_favorite(&self) -> Option<(usize, &str, f64)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn is_three_choice(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn is_binary(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RssFeedManager` is never constructed
[INFO] [stdout]    --> src/../rss/market_rss.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub struct RssFeedManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_feed`, `is_processed`, `mark_processed`, and `update_poll_time` are never used
[INFO] [stdout]    --> src/../rss/market_rss.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 287 | impl RssFeedManager {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 288 |     /// Create a new RSS feed manager
[INFO] [stdout] 289 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn add_feed(&mut self, url: String) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn is_processed(&self, market_id: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub fn mark_processed(&mut self, market_id: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     pub fn update_poll_time(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_rss_events_from_folder` is never used
[INFO] [stdout]    --> src/../rss/market_rss.rs:395:8
[INFO] [stdout]     |
[INFO] [stdout] 395 | pub fn load_rss_events_from_folder(rss_dir: &str) -> Vec<RssEvent> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_rss_xml` is never used
[INFO] [stdout]    --> src/../rss/market_rss.rs:418:4
[INFO] [stdout]     |
[INFO] [stdout] 418 | fn parse_rss_xml(xml: &str) -> Option<RssEvent> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SignedTxType` is never used
[INFO] [stdout]   --> src/../rpc/signed_transaction.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum SignedTxType {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `as_u8`, `from_u8`, and `name` are never used
[INFO] [stdout]   --> src/../rpc/signed_transaction.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl SignedTxType {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 28 |     /// Get the numeric value of the transaction type
[INFO] [stdout] 29 |     pub fn as_u8(&self) -> u8 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn from_u8(value: u8) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn name(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TransactionPayload` is never used
[INFO] [stdout]   --> src/../rpc/signed_transaction.rs:64:10
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub enum TransactionPayload {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tx_type` and `to_bytes` are never used
[INFO] [stdout]    --> src/../rpc/signed_transaction.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl TransactionPayload {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout]  98 |     /// Get the corresponding SignedTxType for this payload
[INFO] [stdout]  99 |     pub fn tx_type(&self) -> SignedTxType {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TX_EXPIRY_SECS` is never used
[INFO] [stdout]    --> src/../rpc/signed_transaction.rs:119:11
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub const TX_EXPIRY_SECS: u64 = 86400; // 24 hours
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedTransaction` is never constructed
[INFO] [stdout]    --> src/../rpc/signed_transaction.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct SignedTransaction {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/../rpc/signed_transaction.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub enum SignedTxError {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout] 144 |     InvalidPubkey(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 145 |     InvalidSignature(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 146 |     SignatureMismatch,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 147 |     Expired,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 148 |     TypeMismatch,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 149 |     SerializationError(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 150 |     L1VerificationFailed(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SignedTxError` 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: multiple associated items are never used
[INFO] [stdout]    --> src/../rpc/signed_transaction.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | impl SignedTransaction {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn new_with_timestamp(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn to_signing_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn verify(&self) -> Result<bool, SignedTxError> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     pub async fn verify_with_l1(&self) -> Result<bool, SignedTxError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn is_expired(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     pub fn is_expired_with_window(&self, window_secs: u64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub fn validate(&self) -> Result<(), SignedTxError> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub async fn validate_with_l1(&self) -> Result<(), SignedTxError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `L1HealthResponse` is never constructed
[INFO] [stdout]   --> src/../rpc/l1_blackbook_rpc.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct L1HealthResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `L1WalletLookupResponse` is never constructed
[INFO] [stdout]   --> src/../rpc/l1_blackbook_rpc.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct L1WalletLookupResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `L1BalanceResponse` is never constructed
[INFO] [stdout]   --> src/../rpc/l1_blackbook_rpc.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct L1BalanceResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `L1PoHStatus` is never constructed
[INFO] [stdout]   --> src/../rpc/l1_blackbook_rpc.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct L1PoHStatus {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `L1BridgeRequest` is never constructed
[INFO] [stdout]   --> src/../rpc/l1_blackbook_rpc.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct L1BridgeRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `L1BridgeResponse` is never constructed
[INFO] [stdout]   --> src/../rpc/l1_blackbook_rpc.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct L1BridgeResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `L1SessionStatusResponse` is never constructed
[INFO] [stdout]    --> src/../rpc/l1_blackbook_rpc.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct L1SessionStatusResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `retry_attempts` and `retry_delay` are never read
[INFO] [stdout]    --> src/../rpc/l1_blackbook_rpc.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub struct L1RpcConfig {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub retry_attempts: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub retry_delay: Duration,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `L1RpcConfig` 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: associated function `mock` is never used
[INFO] [stdout]    --> src/../rpc/l1_blackbook_rpc.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 219 | impl L1RpcConfig {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn mock() -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/../rpc/l1_blackbook_rpc.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl L1BlackBookRpc {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 273 |     pub fn from_env() -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn mock() -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn endpoint(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub fn is_mock(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub async fn health(&mut self) -> Result<L1HealthResponse, String> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     pub async fn poh_status(&mut self) -> Result<L1PoHStatus, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub async fn get_wallet_by_user_id(&mut self, user_id: &str) -> Result<L1WalletLookupResponse, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 432 |     pub async fn get_balance(&mut self, address: &str) -> Result<L1BalanceResponse, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 464 |     pub async fn get_nonce(&mut self, address: &str) -> Result<u64, String> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     pub async fn bridge_to_l1(&mut self, request: L1BridgeRequest) -> Result<L1BridgeResponse, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 673 |     pub async fn get_session_status(&mut self, address: &str) -> Result<L1SessionStatusResponse, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `blackbook-prediction-market` (bin "blackbook-prediction-market" test) due to 3 previous errors; 22 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "af6ff0f8f255e00faa9b645d7bfb5e5e6c734190c4910ed354cebbb0886d9ec5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "af6ff0f8f255e00faa9b645d7bfb5e5e6c734190c4910ed354cebbb0886d9ec5", kill_on_drop: false }`
[INFO] [stdout] af6ff0f8f255e00faa9b645d7bfb5e5e6c734190c4910ed354cebbb0886d9ec5
