[INFO] cloning repository https://github.com/stieterd/polymarket_rust_framework
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/stieterd/polymarket_rust_framework" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstieterd%2Fpolymarket_rust_framework", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstieterd%2Fpolymarket_rust_framework'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4d99f3b10effc441769181e8ac08548a6117ab19
[INFO] checking stieterd/polymarket_rust_framework against master#5dbf4069dc98bbbca98dd600a65f50c258fbfd56 for pr-148477-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstieterd%2Fpolymarket_rust_framework" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/stieterd/polymarket_rust_framework
[INFO] finished tweaking git repo https://github.com/stieterd/polymarket_rust_framework
[INFO] tweaked toml for git repo https://github.com/stieterd/polymarket_rust_framework written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/stieterd/polymarket_rust_framework on toolchain 5dbf4069dc98bbbca98dd600a65f50c258fbfd56
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5dbf4069dc98bbbca98dd600a65f50c258fbfd56" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/stieterd/polymarket_rust_framework 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" "+5dbf4069dc98bbbca98dd600a65f50c258fbfd56" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded value-trait v0.10.1
[INFO] [stderr]   Downloaded proc-macro2 v1.0.97
[INFO] [stderr]   Downloaded thiserror-impl v2.0.14
[INFO] [stderr]   Downloaded roots v0.0.8
[INFO] [stderr]   Downloaded term v1.2.0
[INFO] [stderr]   Downloaded slog-term v2.9.2
[INFO] [stderr]   Downloaded slog-json v2.6.1
[INFO] [stderr]   Downloaded slog-async v2.8.0
[INFO] [stderr]   Downloaded camino v1.1.11
[INFO] [stderr]   Downloaded syn v2.0.105
[INFO] [stderr]   Downloaded argmin v0.8.1
[INFO] [stderr]   Downloaded atomic_float v1.1.0
[INFO] [stderr]   Downloaded simd-json v0.14.3
[INFO] [stderr]   Downloaded argmin-math v0.3.0
[INFO] [stderr]   Downloaded thiserror v2.0.14
[INFO] [stderr]   Downloaded slog v2.8.2
[INFO] [stderr]   Downloaded statrs v0.17.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+5dbf4069dc98bbbca98dd600a65f50c258fbfd56" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d9760738502dc872f21d4dd00160b94424396fb186ddeea6643e0bbabd8be2c1
[INFO] running `Command { std: "docker" "start" "-a" "d9760738502dc872f21d4dd00160b94424396fb186ddeea6643e0bbabd8be2c1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d9760738502dc872f21d4dd00160b94424396fb186ddeea6643e0bbabd8be2c1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d9760738502dc872f21d4dd00160b94424396fb186ddeea6643e0bbabd8be2c1", kill_on_drop: false }`
[INFO] [stdout] d9760738502dc872f21d4dd00160b94424396fb186ddeea6643e0bbabd8be2c1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+5dbf4069dc98bbbca98dd600a65f50c258fbfd56" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1f97d2c136550519e00d7ad194dfa7b74e40155f39aa135eede095a10a5a1682
[INFO] running `Command { std: "docker" "start" "-a" "1f97d2c136550519e00d7ad194dfa7b74e40155f39aa135eede095a10a5a1682", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.97
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling winnow v0.7.12
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling parity-scale-codec v3.7.5
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling serde_json v1.0.142
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]     Checking rustc-hex v2.1.0
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling syn v2.0.105
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.34
[INFO] [stderr]    Compiling camino v1.1.11
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]     Checking byte-slice-cast v1.2.3
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking deranged v0.4.0
[INFO] [stderr]     Checking uint v0.9.5
[INFO] [stderr]     Checking const_format v0.2.34
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.100
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]    Compiling ff v0.13.1
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling base16ct v0.2.0
[INFO] [stderr]    Compiling group v0.13.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling crypto-bigint v0.5.5
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking const-hex v1.14.1
[INFO] [stderr]    Compiling wasm-bindgen v0.2.100
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rlp-derive v0.1.0
[INFO] [stderr]    Compiling prettyplease v0.2.36
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]    Compiling fixed-hash v0.8.0
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling thiserror v2.0.14
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]    Compiling elliptic-curve v0.13.8
[INFO] [stderr]    Compiling rustls v0.23.31
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling ecdsa v0.16.9
[INFO] [stderr]     Checking rustls-webpki v0.103.4
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking bs58 v0.5.1
[INFO] [stderr]     Checking ripemd v0.1.3
[INFO] [stderr]    Compiling slog v2.8.2
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]    Compiling indenter v0.3.4
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking wide v0.7.33
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.100
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling k256 v0.13.4
[INFO] [stderr]     Checking wyz v0.5.1
[INFO] [stderr]     Checking pem v1.1.1
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking salsa20 v0.10.2
[INFO] [stderr]     Checking openssl-sys v0.9.109
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]    Compiling Inflector v0.11.4
[INFO] [stderr]     Checking pbkdf2 v0.11.0
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking send_wrapper v0.4.0
[INFO] [stderr]     Checking funty v2.0.0
[INFO] [stderr]     Checking scrypt v0.10.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking hashers v1.0.1
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking webpki-roots v1.0.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling impl-trait-for-tuples v0.2.3
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling auto_impl v1.3.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.100
[INFO] [stderr]    Compiling thiserror-impl v2.0.14
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking openssl v0.10.73
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling chrono-tz-build v0.2.1
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking webpki v0.22.4
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.100
[INFO] [stderr]     Checking psl-types v2.0.11
[INFO] [stderr]    Compiling rustls v0.20.9
[INFO] [stderr]    Compiling ref-cast v1.0.24
[INFO] [stderr]    Compiling slog-async v2.8.0
[INFO] [stderr]     Checking phf_shared v0.11.3
[INFO] [stderr]    Compiling ref-cast-impl v1.0.24
[INFO] [stderr]     Checking float-cmp v0.10.0
[INFO] [stderr]     Checking futures-locks v0.7.1
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking term v1.2.0
[INFO] [stderr]     Checking simple_asn1 v0.6.3
[INFO] [stderr]    Compiling rust_decimal v1.39.0
[INFO] [stderr]    Compiling chrono-tz v0.8.6
[INFO] [stderr]     Checking anstream v0.6.20
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]     Checking simdutf8 v0.1.5
[INFO] [stderr]     Checking jiff v0.2.15
[INFO] [stderr]     Checking webpki-roots v0.22.6
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]    Compiling rust_decimal_macros v1.39.0
[INFO] [stderr]     Checking bstr v1.12.0
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking roots v0.0.8
[INFO] [stderr]     Checking atomic_float v1.1.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking js-sys v0.3.77
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]     Checking impl-serde v0.4.0
[INFO] [stderr]     Checking cargo-platform v0.1.9
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking erased-serde v0.3.31
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking rlp v0.5.2
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]     Checking impl-rlp v0.3.0
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling open-fastrlp-derive v0.1.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking cargo_metadata v0.18.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking coins-core v0.8.7
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking jsonwebtoken v8.3.0
[INFO] [stderr]     Checking simba v0.8.1
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking native-tls v0.2.14
[INFO] [stderr]     Checking publicsuffix v2.3.0
[INFO] [stderr]     Checking gloo-timers v0.2.6
[INFO] [stderr]     Checking halfbrown v0.2.5
[INFO] [stderr]     Checking eth-keystore v0.5.0
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking slog-term v2.9.2
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]     Checking cookie_store v0.21.1
[INFO] [stderr]     Checking value-trait v0.10.1
[INFO] [stderr]     Checking slog-json v2.6.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking rand_xoshiro v0.6.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]     Checking simd-json v0.14.3
[INFO] [stderr]     Checking ordered-float v5.0.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]     Checking enr v0.10.0
[INFO] [stderr]     Checking coins-bip32 v0.8.7
[INFO] [stderr]    Compiling parity-scale-codec-derive v3.7.5
[INFO] [stderr]    Compiling scale-info-derive v2.11.6
[INFO] [stderr]    Compiling num_enum_derive v0.7.4
[INFO] [stderr]     Checking coins-bip39 v0.8.7
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-rustls v0.26.2
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-rustls v0.23.4
[INFO] [stderr]     Checking tokio-tungstenite v0.20.1
[INFO] [stderr]     Checking num_enum v0.7.4
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]    Compiling impl-codec v0.6.0
[INFO] [stderr]    Compiling scale-info v2.11.6
[INFO] [stderr]     Checking nalgebra v0.32.6
[INFO] [stderr]     Checking primitive-types v0.12.2
[INFO] [stderr]     Checking ethbloom v0.13.0
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking ethereum-types v0.14.1
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking ethabi v18.0.0
[INFO] [stderr]     Checking open-fastrlp v0.1.4
[INFO] [stderr]     Checking ethers-core v2.0.14
[INFO] [stderr]     Checking hyper-util v0.1.16
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.12.23
[INFO] [stderr]     Checking ethers-contract-abigen v2.0.14
[INFO] [stderr]     Checking ethers-providers v2.0.14
[INFO] [stderr]     Checking ethers-etherscan v2.0.14
[INFO] [stderr]     Checking ethers-signers v2.0.14
[INFO] [stderr]     Checking ethers-addressbook v2.0.14
[INFO] [stderr]     Checking argmin-math v0.3.0
[INFO] [stderr]     Checking statrs v0.17.1
[INFO] [stderr]    Compiling ethers-contract-derive v2.0.14
[INFO] [stderr]     Checking argmin v0.8.1
[INFO] [stderr]     Checking ethers-contract v2.0.14
[INFO] [stderr]     Checking ethers-middleware v2.0.14
[INFO] [stderr]     Checking ethers v2.0.14
[INFO] [stderr]     Checking polymarket v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `ROUND_CONFIG` and `get_order_amounts`
[INFO] [stdout]  --> src/clob_client/client.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::builder::{get_order_amounts, OrderBuilder, SignedOrder, ROUND_CONFIG};
[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: `prepend_zx`
[INFO] [stdout]   --> src/clob_client/client.rs:10:35
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::utils::{order_to_json, prepend_zx};
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::clob_client::builder::encode_order`
[INFO] [stdout]   --> src/clob_client/client.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::clob_client::builder::encode_order;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GET_LAST_TRADES_PRICES`
[INFO] [stdout]   --> src/clob_client/client.rs:15:60
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::clob_client::endpoints::{GET_BALANCE_ALLOWANCE, GET_LAST_TRADES_PRICES, ORDERS};
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::abi::token`
[INFO] [stdout]   --> src/clob_client/client.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ethers::abi::token;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `keccak256`
[INFO] [stdout]   --> src/clob_client/client.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ethers::utils::{keccak256, to_checksum};
[INFO] [stdout]    |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/clob_client/client.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::time::{Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hasher` and `Keccak`
[INFO] [stdout]   --> src/clob_client/client.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | use tiny_keccak::{Hasher, Keccak};
[INFO] [stdout]    |                   ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Proxy`
[INFO] [stdout]  --> src/clob_client/http_helpers.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     Client, Proxy, StatusCode,
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `H256` and `keccak256`
[INFO] [stdout]  --> src/clob_client/prebuilt_order.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 |     types::{Address, H256},
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 5 |     utils::{keccak256, to_checksum},
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hasher` and `Keccak`
[INFO] [stdout]  --> src/clob_client/prebuilt_order.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tiny_keccak::{Hasher, Keccak};
[INFO] [stdout]   |                   ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prepend_zx`
[INFO] [stdout]   --> src/clob_client/prebuilt_order.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 |     utils::{generate_seed, prepend_zx},
[INFO] [stdout]    |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::k256::pkcs8::der::asn1::Null`
[INFO] [stdout]  --> src/clob_client/builder.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ethers::{core::k256::pkcs8::der::asn1::Null, utils::keccak256};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ACCEPT_ENCODING`, `ACCEPT_LANGUAGE`, and `ORIGIN`
[INFO] [stdout]  --> src/marketmaking/allowance.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 |     ACCEPT, ACCEPT_ENCODING, ACCEPT_LANGUAGE, AUTHORIZATION, CONNECTION, CONTENT_TYPE, ORIGIN,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec`
[INFO] [stdout]  --> src/poly_orderbooks/poly_client_orders.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     vec,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::abi::Hash`
[INFO] [stdout]  --> src/poly_orderbooks/poly_client_orders.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ethers::abi::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/poly_orderbooks/poly_client_orders.rs:154:37
[INFO] [stdout]     |
[INFO] [stdout] 154 |                         Ok(resp) => (println!("cancel: {:?}", resp)),
[INFO] [stdout]     |                                     ^                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -                         Ok(resp) => (println!("cancel: {:?}", resp)),
[INFO] [stdout] 154 +                         Ok(resp) => println!("cancel: {:?}", resp) ,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]  --> src/strategies/app_state_updates/update_crypto_prices.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Arc, RwLock};
[INFO] [stdout]   |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LegacyPriceChange`, `Listener`, `OrderbookLevel`, `PriceChange`, and `poly_orderbook::OrderBook`
[INFO] [stdout]  --> src/strategies/app_state_updates/update_crypto_prices.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 |         orderbooks::{poly_orderbook::OrderBook, CryptoOrderbook, OrderbookDepth, OrderbookLevel},
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 9 |         poly_models::{LegacyPriceChange, Listener, PriceChange},
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::error`
[INFO] [stdout]  --> src/strategies/logging/crypto_logging.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::error;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Map`, `Value`, and `json`
[INFO] [stdout]  --> src/strategies/logging/crypto_logging.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde_json::{json, Map, Value};
[INFO] [stdout]   |                  ^^^^  ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptions` and `self`
[INFO] [stdout]  --> src/strategies/logging/crypto_logging.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::{self, OpenOptions};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write` and `self`
[INFO] [stdout]  --> src/strategies/logging/crypto_logging.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, Write};
[INFO] [stdout]   |               ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/strategies/logging/crypto_logging.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AggOrderbook`, `Listener`, and `PriceChange`
[INFO] [stdout]   --> src/strategies/logging/crypto_logging.rs:10:46
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::exchange_listeners::poly_models::{AggOrderbook, Listener, PriceChange};
[INFO] [stdout]    |                                              ^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> src/strategies/logging/main_logging.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CryptoOrderbook`, `LegacyPriceChange`, `Listener`, `PriceChange`, and `poly_orderbook::OrderBook`
[INFO] [stdout]  --> src/strategies/logging/main_logging.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 |         orderbooks::{poly_orderbook::OrderBook, CryptoOrderbook, OrderbookDepth},
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         poly_models::{LegacyPriceChange, Listener, PriceChange},
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CryptoOrderbook`, `Crypto`, `Exchange`, `Instrument`, `LegacyPriceChange`, `OrderbookDepth`, `PriceChange`, `crypto_models::CryptoPriceUpdate`, and `poly_orderbook::OrderBook`
[INFO] [stdout]  --> src/strategies/logging/order_logging.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |         crypto_models::CryptoPriceUpdate,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |         orderbooks::{poly_orderbook::OrderBook, CryptoOrderbook, OrderbookDepth},
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         poly_models::{LegacyPriceChange, Listener, PriceChange},
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^            ^^^^^^^^^^^
[INFO] [stdout] 9 |         Crypto, Exchange, Instrument,
[INFO] [stdout]   |         ^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CryptoOrderbook`, `Crypto`, `Exchange`, `Instrument`, `LegacyPriceChange`, `OrderbookDepth`, `PriceChange`, `crypto_models::CryptoPriceUpdate`, and `poly_orderbook::OrderBook`
[INFO] [stdout]  --> src/strategies/logging/position_logging.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |         crypto_models::CryptoPriceUpdate,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |         orderbooks::{poly_orderbook::OrderBook, CryptoOrderbook, OrderbookDepth},
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         poly_models::{LegacyPriceChange, Listener, PriceChange, TradeStatus},
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^            ^^^^^^^^^^^
[INFO] [stdout] 9 |         Crypto, Exchange, Instrument,
[INFO] [stdout]   |         ^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LegacyPriceChange`
[INFO] [stdout]  --> src/strategies/poly_state_updates/update_orderbooks.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 |         poly_models::{LegacyPriceChange, Listener, PriceChange},
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `credentials`
[INFO] [stdout]  --> src/strategies/poly_state_updates/update_orders.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     credentials,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use log::{info, warn};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `orderbooks::poly_orderbook::OrderBook`
[INFO] [stdout]  --> src/strategies/poly_state_updates/update_positions.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         orderbooks::poly_orderbook::OrderBook,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]  --> src/strategies/custom/negrisk/negrisk_no_maker_strategy.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::{error, info};
[INFO] [stdout]   |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, and `collections::VecDeque`
[INFO] [stdout]  --> src/strategies/custom/negrisk/negrisk_no_maker_strategy.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     collections::VecDeque,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     sync::{Arc, Mutex},
[INFO] [stdout]   |            ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CryptoOrderbook`, `CryptoPriceUpdate`, `CryptoPrice`, `LegacyPriceChange`, `Listener`, `MAX_VOLUME`, `OrderBookContext`, `OrderSide`, `OrderbookDepth`, `OrderbookLevel`, `PriceChange`, `StrategyAsset`, `StrategyClient`, `StrategyContext`, `StrategyOpenOrder`, `StrategyOrderBook`, `StrategyPosition`, `TARGET_ORDER_SIZE`, `get_crypto_orderbook_map`, `get_crypto_prices_map`, `parse_millis`, and `poly_orderbook::OrderBook`
[INFO] [stdout]   --> src/strategies/custom/negrisk/negrisk_no_maker_strategy.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             get_crypto_orderbook_map, get_crypto_prices_map, CryptoPrice, CryptoPriceUpdate,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         },
[INFO] [stdout] 12 |         orderbooks::{poly_orderbook::OrderBook, CryptoOrderbook, OrderbookDepth, OrderbookLevel},
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         poly_models::{LegacyPriceChange, Listener, OrderSide, PriceChange},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |         custom::tob::models::{OrderBookContext, MAX_VOLUME, TARGET_ORDER_SIZE},
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         strategy_utils::{
[INFO] [stdout] 18 |             parse_millis, StrategyAsset, StrategyClient, StrategyOpenOrder, StrategyOrderBook,
[INFO] [stdout]    |             ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |             StrategyPosition,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         },
[INFO] [stdout] 21 |         Strategy, StrategyContext,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/strategies/custom/tob/tob_strategy.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::{error, info};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CryptoOrderbook`, `CryptoPriceUpdate`, `CryptoPrice`, `LegacyPriceChange`, `OrderbookDepth`, `OrderbookLevel`, `StrategyOrderBook`, `get_crypto_orderbook_map`, and `get_crypto_prices_map`
[INFO] [stdout]   --> src/strategies/custom/tob/tob_strategy.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             get_crypto_orderbook_map, get_crypto_prices_map, CryptoPrice, CryptoPriceUpdate,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         },
[INFO] [stdout] 12 |         orderbooks::{poly_orderbook::OrderBook, CryptoOrderbook, OrderbookDepth, OrderbookLevel},
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         poly_models::{LegacyPriceChange, Listener, OrderSide, PriceChange},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |             parse_millis, StrategyAsset, StrategyClient, StrategyOpenOrder, StrategyOrderBook,
[INFO] [stdout]    |                                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RateKind`
[INFO] [stdout]  --> src/strategies/strategy.rs:3:67
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::exchange_listeners::crypto_models::{CryptoPriceUpdate, RateKind};
[INFO] [stdout]   |                                                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CryptoOrderbook`
[INFO] [stdout]  --> src/strategies/strategy.rs:4:45
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::exchange_listeners::orderbooks::{CryptoOrderbook, OrderbookDepth, OrderbookLevel};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LegacyPriceChange`
[INFO] [stdout]  --> src/strategies/strategy.rs:5:46
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::exchange_listeners::poly_models::{LegacyPriceChange, Listener, PriceChange};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PriceChangePayload`
[INFO] [stdout]  --> src/strategies/strategy.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 |         AggOrderbook, OrderPayload, PriceChangePayload, TickSizeChangePayload, TradePayload,
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::abi::Hash`
[INFO] [stdout]  --> src/strategies/strategy_utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ethers::abi::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::error`
[INFO] [stdout]  --> src/strategies/strategy_utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::error;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Strategy`
[INFO] [stdout]   --> src/strategies/strategy_utils.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 |     strategies::{Strategy, StrategyContext},
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PrebuiltOrder`, `build_prebuilt_order`, and `client::ClobClient`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     client::ClobClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     prebuilt_order::{build_prebuilt_order, PrebuiltOrder},
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::abi::Hash`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ethers::abi::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `HashSet`, `Instant`, `Ordering`, `SystemTime`, `VecDeque`, `alloc::System`, `atomic`, `min`, `ops::Deref`, `process`, and `thread`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     alloc::System,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 22 |     cmp::{min, Ordering},
[INFO] [stdout]    |           ^^^  ^^^^^^^^
[INFO] [stdout] 23 |     collections::{HashMap, HashSet, VecDeque},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 24 |     ops::Deref,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 25 |     process,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 26 |     sync::{atomic, Arc},
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 27 |     thread,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 28 |     time::{Instant, SystemTime},
[INFO] [stdout]    |            ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex`, `RwLock`, and `sleep`
[INFO] [stdout]   --> src/main.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |     sync::{Mutex, RwLock},
[INFO] [stdout]    |            ^^^^^  ^^^^^^
[INFO] [stdout] 33 |     time::{sleep, Duration},
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FRAC_CENTS` and `FULL_CENTS`
[INFO] [stdout]   --> src/main.rs:36:30
[INFO] [stdout]    |
[INFO] [stdout] 36 | use clob_client::constants::{FRAC_CENTS, FULL_CENTS};
[INFO] [stdout]    |                              ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dashmap::DashMap`
[INFO] [stdout]   --> src/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use dashmap::DashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EventJson`, `Event`, `Market`, `build_asset_id_to_event_map`, `build_asset_id_to_market_map`, `maker_taker_config::REFRESH_TIME`, `marketmakingclient::CLIENT`, and `utils::MarketMakingCalculated`
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     maker_taker_config::REFRESH_TIME,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     marketmakingclient::CLIENT,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |         build_asset_id_to_event_map, build_asset_id_to_market_map, Event, EventJson, Market,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 45 |     },
[INFO] [stdout] 46 |     utils::MarketMakingCalculated,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `atomic_float::AtomicF64`
[INFO] [stdout]  --> src/exchange_listeners/crypto_models.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use atomic_float::AtomicF64;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dashmap::DashMap`
[INFO] [stdout]  --> src/exchange_listeners/crypto_models.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use dashmap::DashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]  --> src/exchange_listeners/crypto_models.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::atomic::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Datelike`
[INFO] [stdout]  --> src/exchange_listeners/autodiscover_markets.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chrono::{Datelike, Duration, Timelike};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::credentials`
[INFO] [stdout]  --> src/exchange_listeners/event_processor.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::credentials;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::exchange_listeners::orderbooks::poly_orderbook::OrderBook`
[INFO] [stdout]  --> src/exchange_listeners/event_processor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::exchange_listeners::orderbooks::poly_orderbook::OrderBook;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CryptoOrderbook`
[INFO] [stdout]  --> src/exchange_listeners/event_processor.rs:6:45
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::exchange_listeners::orderbooks::{CryptoOrderbook, OrderbookDepth, OrderbookLevel};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Position`
[INFO] [stdout]  --> src/exchange_listeners/event_processor.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Position, PriceChange, PriceChangePayload, TickSizeChangePayload, TradePayload,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dashmap::mapref::entry::Entry`
[INFO] [stdout]   --> src/exchange_listeners/event_processor.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use dashmap::mapref::entry::Entry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/exchange_listeners/event_processor.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | use log::{debug, error, info, warn};
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowedValue` and `to_borrowed_value`
[INFO] [stdout]   --> src/exchange_listeners/event_processor.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | use simd_json::{to_borrowed_value, BorrowedValue};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/exchange_listeners/poly_client.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{error, info, warn};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::orderbooks::poly_orderbook::OrderBook`
[INFO] [stdout]  --> src/exchange_listeners/poly_models.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::orderbooks::poly_orderbook::OrderBook;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RwLock` and `collections::HashMap`
[INFO] [stdout]  --> src/exchange_listeners/poly_models.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     fmt,
[INFO] [stdout] 9 |     sync::{Arc, Mutex, RwLock},
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOrder` and `poly_client::PolyClient`
[INFO] [stdout]   --> src/exchange_listeners/states.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         poly_client::PolyClient,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         poly_models::{AssetOrders, OpenOrder, Position, RateLimit},
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::runtime`
[INFO] [stdout]   --> src/main.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | use tokio::runtime;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `app_state_updates::update_crypto_orderbooks::UpdateCryptoOrderbookStrategy`, `bbo_logging::BBOLoggingStrategy`, `crypto_logging::CryptoLoggingStrategy`, `koen::koen_strategy::KoenStrategy`, `main_logging::MainLoggingStrategy`, and `order_logging::OrderLoggingStrategy`
[INFO] [stdout]   --> src/main.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         app_state_updates::update_crypto_orderbooks::UpdateCryptoOrderbookStrategy,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 58 |         custom::{koen::koen_strategy::KoenStrategy, tob::tob_strategy::TobStrategy},
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 59 |         logging::{
[INFO] [stdout] 60 |             bbo_logging::BBOLoggingStrategy, crypto_logging::CryptoLoggingStrategy,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |             main_logging::MainLoggingStrategy, order_logging::OrderLoggingStrategy,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ROUND_CONFIG` and `get_order_amounts`
[INFO] [stdout]  --> src/clob_client/client.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::builder::{get_order_amounts, OrderBuilder, SignedOrder, ROUND_CONFIG};
[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: `prepend_zx`
[INFO] [stdout]   --> src/clob_client/client.rs:10:35
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::utils::{order_to_json, prepend_zx};
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::clob_client::builder::encode_order`
[INFO] [stdout]   --> src/clob_client/client.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::clob_client::builder::encode_order;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GET_LAST_TRADES_PRICES`
[INFO] [stdout]   --> src/clob_client/client.rs:15:60
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::clob_client::endpoints::{GET_BALANCE_ALLOWANCE, GET_LAST_TRADES_PRICES, ORDERS};
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::abi::token`
[INFO] [stdout]   --> src/clob_client/client.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ethers::abi::token;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `keccak256`
[INFO] [stdout]   --> src/clob_client/client.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ethers::utils::{keccak256, to_checksum};
[INFO] [stdout]    |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/clob_client/client.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::time::{Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hasher` and `Keccak`
[INFO] [stdout]   --> src/clob_client/client.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | use tiny_keccak::{Hasher, Keccak};
[INFO] [stdout]    |                   ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Proxy`
[INFO] [stdout]  --> src/clob_client/http_helpers.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     Client, Proxy, StatusCode,
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `H256` and `keccak256`
[INFO] [stdout]  --> src/clob_client/prebuilt_order.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 |     types::{Address, H256},
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 5 |     utils::{keccak256, to_checksum},
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hasher` and `Keccak`
[INFO] [stdout]  --> src/clob_client/prebuilt_order.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tiny_keccak::{Hasher, Keccak};
[INFO] [stdout]   |                   ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prepend_zx`
[INFO] [stdout]   --> src/clob_client/prebuilt_order.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 |     utils::{generate_seed, prepend_zx},
[INFO] [stdout]    |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::k256::pkcs8::der::asn1::Null`
[INFO] [stdout]  --> src/clob_client/builder.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ethers::{core::k256::pkcs8::der::asn1::Null, utils::keccak256};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ADDRESS`
[INFO] [stdout]    --> src/clob_client/builder.rs:470:30
[INFO] [stdout]     |
[INFO] [stdout] 470 |     use crate::credentials::{ADDRESS, PRIVATE_KEY, SIGNER};
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ACCEPT_ENCODING`, `ACCEPT_LANGUAGE`, and `ORIGIN`
[INFO] [stdout]  --> src/marketmaking/allowance.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 |     ACCEPT, ACCEPT_ENCODING, ACCEPT_LANGUAGE, AUTHORIZATION, CONNECTION, CONTENT_TYPE, ORIGIN,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec`
[INFO] [stdout]  --> src/poly_orderbooks/poly_client_orders.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     vec,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::abi::Hash`
[INFO] [stdout]  --> src/poly_orderbooks/poly_client_orders.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ethers::abi::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/poly_orderbooks/poly_client_orders.rs:154:37
[INFO] [stdout]     |
[INFO] [stdout] 154 |                         Ok(resp) => (println!("cancel: {:?}", resp)),
[INFO] [stdout]     |                                     ^                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -                         Ok(resp) => (println!("cancel: {:?}", resp)),
[INFO] [stdout] 154 +                         Ok(resp) => println!("cancel: {:?}", resp) ,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]  --> src/strategies/app_state_updates/update_crypto_prices.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Arc, RwLock};
[INFO] [stdout]   |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LegacyPriceChange`, `Listener`, `OrderbookLevel`, `PriceChange`, and `poly_orderbook::OrderBook`
[INFO] [stdout]  --> src/strategies/app_state_updates/update_crypto_prices.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 |         orderbooks::{poly_orderbook::OrderBook, CryptoOrderbook, OrderbookDepth, OrderbookLevel},
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 9 |         poly_models::{LegacyPriceChange, Listener, PriceChange},
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::error`
[INFO] [stdout]  --> src/strategies/logging/crypto_logging.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::error;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Map`, `Value`, and `json`
[INFO] [stdout]  --> src/strategies/logging/crypto_logging.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde_json::{json, Map, Value};
[INFO] [stdout]   |                  ^^^^  ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptions` and `self`
[INFO] [stdout]  --> src/strategies/logging/crypto_logging.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::{self, OpenOptions};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write` and `self`
[INFO] [stdout]  --> src/strategies/logging/crypto_logging.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, Write};
[INFO] [stdout]   |               ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/strategies/logging/crypto_logging.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AggOrderbook`, `Listener`, and `PriceChange`
[INFO] [stdout]   --> src/strategies/logging/crypto_logging.rs:10:46
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::exchange_listeners::poly_models::{AggOrderbook, Listener, PriceChange};
[INFO] [stdout]    |                                              ^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> src/strategies/logging/main_logging.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CryptoOrderbook`, `LegacyPriceChange`, `Listener`, `PriceChange`, and `poly_orderbook::OrderBook`
[INFO] [stdout]  --> src/strategies/logging/main_logging.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 |         orderbooks::{poly_orderbook::OrderBook, CryptoOrderbook, OrderbookDepth},
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         poly_models::{LegacyPriceChange, Listener, PriceChange},
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CryptoOrderbook`, `Crypto`, `Exchange`, `Instrument`, `LegacyPriceChange`, `OrderbookDepth`, `PriceChange`, `crypto_models::CryptoPriceUpdate`, and `poly_orderbook::OrderBook`
[INFO] [stdout]  --> src/strategies/logging/order_logging.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |         crypto_models::CryptoPriceUpdate,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |         orderbooks::{poly_orderbook::OrderBook, CryptoOrderbook, OrderbookDepth},
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         poly_models::{LegacyPriceChange, Listener, PriceChange},
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^            ^^^^^^^^^^^
[INFO] [stdout] 9 |         Crypto, Exchange, Instrument,
[INFO] [stdout]   |         ^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CryptoOrderbook`, `Crypto`, `Exchange`, `Instrument`, `LegacyPriceChange`, `OrderbookDepth`, `PriceChange`, `crypto_models::CryptoPriceUpdate`, and `poly_orderbook::OrderBook`
[INFO] [stdout]  --> src/strategies/logging/position_logging.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |         crypto_models::CryptoPriceUpdate,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |         orderbooks::{poly_orderbook::OrderBook, CryptoOrderbook, OrderbookDepth},
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         poly_models::{LegacyPriceChange, Listener, PriceChange, TradeStatus},
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^            ^^^^^^^^^^^
[INFO] [stdout] 9 |         Crypto, Exchange, Instrument,
[INFO] [stdout]   |         ^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LegacyPriceChange`
[INFO] [stdout]  --> src/strategies/poly_state_updates/update_orderbooks.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 |         poly_models::{LegacyPriceChange, Listener, PriceChange},
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `credentials`
[INFO] [stdout]  --> src/strategies/poly_state_updates/update_orders.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     credentials,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use log::{info, warn};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `orderbooks::poly_orderbook::OrderBook`
[INFO] [stdout]  --> src/strategies/poly_state_updates/update_positions.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         orderbooks::poly_orderbook::OrderBook,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]  --> src/strategies/custom/negrisk/negrisk_no_maker_strategy.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::{error, info};
[INFO] [stdout]   |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, and `collections::VecDeque`
[INFO] [stdout]  --> src/strategies/custom/negrisk/negrisk_no_maker_strategy.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     collections::VecDeque,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     sync::{Arc, Mutex},
[INFO] [stdout]   |            ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CryptoOrderbook`, `CryptoPriceUpdate`, `CryptoPrice`, `LegacyPriceChange`, `Listener`, `MAX_VOLUME`, `OrderBookContext`, `OrderSide`, `OrderbookDepth`, `OrderbookLevel`, `PriceChange`, `StrategyAsset`, `StrategyClient`, `StrategyContext`, `StrategyOpenOrder`, `StrategyOrderBook`, `StrategyPosition`, `TARGET_ORDER_SIZE`, `get_crypto_orderbook_map`, `get_crypto_prices_map`, `parse_millis`, and `poly_orderbook::OrderBook`
[INFO] [stdout]   --> src/strategies/custom/negrisk/negrisk_no_maker_strategy.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             get_crypto_orderbook_map, get_crypto_prices_map, CryptoPrice, CryptoPriceUpdate,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         },
[INFO] [stdout] 12 |         orderbooks::{poly_orderbook::OrderBook, CryptoOrderbook, OrderbookDepth, OrderbookLevel},
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         poly_models::{LegacyPriceChange, Listener, OrderSide, PriceChange},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |         custom::tob::models::{OrderBookContext, MAX_VOLUME, TARGET_ORDER_SIZE},
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |         strategy_utils::{
[INFO] [stdout] 18 |             parse_millis, StrategyAsset, StrategyClient, StrategyOpenOrder, StrategyOrderBook,
[INFO] [stdout]    |             ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |             StrategyPosition,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |         },
[INFO] [stdout] 21 |         Strategy, StrategyContext,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/strategies/custom/tob/tob_strategy.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::{error, info};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CryptoOrderbook`, `CryptoPriceUpdate`, `CryptoPrice`, `LegacyPriceChange`, `OrderbookDepth`, `OrderbookLevel`, `StrategyOrderBook`, `get_crypto_orderbook_map`, and `get_crypto_prices_map`
[INFO] [stdout]   --> src/strategies/custom/tob/tob_strategy.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             get_crypto_orderbook_map, get_crypto_prices_map, CryptoPrice, CryptoPriceUpdate,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |         },
[INFO] [stdout] 12 |         orderbooks::{poly_orderbook::OrderBook, CryptoOrderbook, OrderbookDepth, OrderbookLevel},
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         poly_models::{LegacyPriceChange, Listener, OrderSide, PriceChange},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |             parse_millis, StrategyAsset, StrategyClient, StrategyOpenOrder, StrategyOrderBook,
[INFO] [stdout]    |                                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RateKind`
[INFO] [stdout]  --> src/strategies/strategy.rs:3:67
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::exchange_listeners::crypto_models::{CryptoPriceUpdate, RateKind};
[INFO] [stdout]   |                                                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CryptoOrderbook`
[INFO] [stdout]  --> src/strategies/strategy.rs:4:45
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::exchange_listeners::orderbooks::{CryptoOrderbook, OrderbookDepth, OrderbookLevel};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LegacyPriceChange`
[INFO] [stdout]  --> src/strategies/strategy.rs:5:46
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::exchange_listeners::poly_models::{LegacyPriceChange, Listener, PriceChange};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PriceChangePayload`
[INFO] [stdout]  --> src/strategies/strategy.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 |         AggOrderbook, OrderPayload, PriceChangePayload, TickSizeChangePayload, TradePayload,
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::abi::Hash`
[INFO] [stdout]  --> src/strategies/strategy_utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ethers::abi::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::error`
[INFO] [stdout]  --> src/strategies/strategy_utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::error;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Strategy`
[INFO] [stdout]   --> src/strategies/strategy_utils.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 |     strategies::{Strategy, StrategyContext},
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PrebuiltOrder`, `build_prebuilt_order`, and `client::ClobClient`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     client::ClobClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     prebuilt_order::{build_prebuilt_order, PrebuiltOrder},
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::abi::Hash`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ethers::abi::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `HashSet`, `Instant`, `Ordering`, `SystemTime`, `VecDeque`, `alloc::System`, `atomic`, `min`, `ops::Deref`, `process`, and `thread`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     alloc::System,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 22 |     cmp::{min, Ordering},
[INFO] [stdout]    |           ^^^  ^^^^^^^^
[INFO] [stdout] 23 |     collections::{HashMap, HashSet, VecDeque},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 24 |     ops::Deref,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 25 |     process,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 26 |     sync::{atomic, Arc},
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 27 |     thread,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 28 |     time::{Instant, SystemTime},
[INFO] [stdout]    |            ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex`, `RwLock`, and `sleep`
[INFO] [stdout]   --> src/main.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |     sync::{Mutex, RwLock},
[INFO] [stdout]    |            ^^^^^  ^^^^^^
[INFO] [stdout] 33 |     time::{sleep, Duration},
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FRAC_CENTS` and `FULL_CENTS`
[INFO] [stdout]   --> src/main.rs:36:30
[INFO] [stdout]    |
[INFO] [stdout] 36 | use clob_client::constants::{FRAC_CENTS, FULL_CENTS};
[INFO] [stdout]    |                              ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dashmap::DashMap`
[INFO] [stdout]   --> src/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use dashmap::DashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EventJson`, `Event`, `Market`, `build_asset_id_to_event_map`, `build_asset_id_to_market_map`, `maker_taker_config::REFRESH_TIME`, `marketmakingclient::CLIENT`, and `utils::MarketMakingCalculated`
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     maker_taker_config::REFRESH_TIME,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     marketmakingclient::CLIENT,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |         build_asset_id_to_event_map, build_asset_id_to_market_map, Event, EventJson, Market,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 45 |     },
[INFO] [stdout] 46 |     utils::MarketMakingCalculated,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `atomic_float::AtomicF64`
[INFO] [stdout]  --> src/exchange_listeners/crypto_models.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use atomic_float::AtomicF64;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dashmap::DashMap`
[INFO] [stdout]  --> src/exchange_listeners/crypto_models.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use dashmap::DashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]  --> src/exchange_listeners/crypto_models.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::atomic::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Datelike`
[INFO] [stdout]  --> src/exchange_listeners/autodiscover_markets.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chrono::{Datelike, Duration, Timelike};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::credentials`
[INFO] [stdout]  --> src/exchange_listeners/event_processor.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::credentials;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::exchange_listeners::orderbooks::poly_orderbook::OrderBook`
[INFO] [stdout]  --> src/exchange_listeners/event_processor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::exchange_listeners::orderbooks::poly_orderbook::OrderBook;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CryptoOrderbook`
[INFO] [stdout]  --> src/exchange_listeners/event_processor.rs:6:45
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::exchange_listeners::orderbooks::{CryptoOrderbook, OrderbookDepth, OrderbookLevel};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Position`
[INFO] [stdout]  --> src/exchange_listeners/event_processor.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Position, PriceChange, PriceChangePayload, TickSizeChangePayload, TradePayload,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dashmap::mapref::entry::Entry`
[INFO] [stdout]   --> src/exchange_listeners/event_processor.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use dashmap::mapref::entry::Entry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/exchange_listeners/event_processor.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | use log::{debug, error, info, warn};
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowedValue` and `to_borrowed_value`
[INFO] [stdout]   --> src/exchange_listeners/event_processor.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | use simd_json::{to_borrowed_value, BorrowedValue};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/exchange_listeners/poly_client.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{error, info, warn};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::orderbooks::poly_orderbook::OrderBook`
[INFO] [stdout]  --> src/exchange_listeners/poly_models.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::orderbooks::poly_orderbook::OrderBook;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RwLock` and `collections::HashMap`
[INFO] [stdout]  --> src/exchange_listeners/poly_models.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     fmt,
[INFO] [stdout] 9 |     sync::{Arc, Mutex, RwLock},
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOrder` and `poly_client::PolyClient`
[INFO] [stdout]   --> src/exchange_listeners/states.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         poly_client::PolyClient,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |         poly_models::{AssetOrders, OpenOrder, Position, RateLimit},
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::runtime`
[INFO] [stdout]   --> src/main.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | use tokio::runtime;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `app_state_updates::update_crypto_orderbooks::UpdateCryptoOrderbookStrategy`, `bbo_logging::BBOLoggingStrategy`, `crypto_logging::CryptoLoggingStrategy`, `koen::koen_strategy::KoenStrategy`, `main_logging::MainLoggingStrategy`, and `order_logging::OrderLoggingStrategy`
[INFO] [stdout]   --> src/main.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         app_state_updates::update_crypto_orderbooks::UpdateCryptoOrderbookStrategy,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 58 |         custom::{koen::koen_strategy::KoenStrategy, tob::tob_strategy::TobStrategy},
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 59 |         logging::{
[INFO] [stdout] 60 |             bbo_logging::BBOLoggingStrategy, crypto_logging::CryptoLoggingStrategy,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |             main_logging::MainLoggingStrategy, order_logging::OrderLoggingStrategy,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/clob_client/client.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 process::exit(1);
[INFO] [stdout]     |                 ---------------- any code following this expression is unreachable
[INFO] [stdout] 116 |                 return Err(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/clob_client/client.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 process::exit(1);
[INFO] [stdout]     |                 ---------------- any code following this expression is unreachable
[INFO] [stdout] 116 |                 return Err(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_args`
[INFO] [stdout]    --> src/clob_client/client.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let request_args = RequestArgs {
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_args`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `results`
[INFO] [stdout]    --> src/clob_client/client.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let results: Vec<_> = futures::future::join_all(handles).await;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/clob_client/prebuilt_order.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut data = OrderData {
[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: `chain_id`
[INFO] [stdout]   --> src/clob_client/signer.rs:12:35
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(private_key: &str, chain_id: u128) -> Self {
[INFO] [stdout]    |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/clob_client/eip712struct.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |         for (k, v) in &self.values {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/strategies/app_state_updates/update_crypto_prices.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let mut orderbook = orderbook_map
[INFO] [stdout]    |                 ----^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_message`
[INFO] [stdout]   --> src/strategies/logging/crypto_logging.rs:46:21
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 let log_message = format!(
[INFO] [stdout]    |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_message`
[INFO] [stdout]   --> src/strategies/logging/crypto_logging.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 let log_message = format!(
[INFO] [stdout]    |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_message`
[INFO] [stdout]    --> src/strategies/logging/crypto_logging.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 let log_message = format!(
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_message`
[INFO] [stdout]    --> src/strategies/logging/crypto_logging.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 let log_message = format!(
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orderbooks.rs:63:23
[INFO] [stdout]    |
[INFO] [stdout] 63 |             if let Ok(mut book) = orderbook_entry.write() {
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `associate_trades`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             associate_trades,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: try ignoring the field: `associate_trades: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event_type`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             event_type,
[INFO] [stdout]    |             ^^^^^^^^^^ help: try ignoring the field: `event_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `market`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             market,
[INFO] [stdout]    |             ^^^^^^ help: try ignoring the field: `market: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_owner`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |             order_owner,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: try ignoring the field: `order_owner: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outcome`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |             outcome,
[INFO] [stdout]    |             ^^^^^^^ help: try ignoring the field: `outcome: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `owner`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             owner,
[INFO] [stdout]    |             ^^^^^ help: try ignoring the field: `owner: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             timestamp,
[INFO] [stdout]    |             ^^^^^^^^^ help: try ignoring the field: `timestamp: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_args`
[INFO] [stdout]    --> src/clob_client/client.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let request_args = RequestArgs {
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_args`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_position`
[INFO] [stdout]    --> src/strategies/custom/tob/tob_strategy.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let current_position = *positions.get(asset_id).unwrap_or(&0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other_position`
[INFO] [stdout]    --> src/strategies/custom/tob/tob_strategy.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let other_position = other_asset
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_other_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `results`
[INFO] [stdout]    --> src/clob_client/client.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let results: Vec<_> = futures::future::join_all(handles).await;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `price_u32`
[INFO] [stdout]    --> src/strategies/custom/tob/tob_strategy.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let price_u32 = match parse_millis(&_payload.price) {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_price_u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/clob_client/prebuilt_order.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut data = OrderData {
[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: `chain_id`
[INFO] [stdout]   --> src/clob_client/signer.rs:12:35
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(private_key: &str, chain_id: u128) -> Self {
[INFO] [stdout]    |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `price`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:203:29
[INFO] [stdout]     |
[INFO] [stdout] 203 |                         let price = price_str.parse::<f64>()?;
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bid_price`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:249:25
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     let bid_price = best_bid[0].parse::<f64>()?;
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bid_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ask_price`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:250:25
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     let ask_price = best_ask[0].parse::<f64>()?;
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ask_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bid_vol`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:251:25
[INFO] [stdout]     |
[INFO] [stdout] 251 |                     let bid_vol = best_bid[1].parse::<f64>().unwrap_or(0.0);
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bid_vol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ask_vol`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:252:25
[INFO] [stdout]     |
[INFO] [stdout] 252 |                     let ask_vol = best_ask[1].parse::<f64>().unwrap_or(0.0);
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ask_vol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg_data`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:346:36
[INFO] [stdout]     |
[INFO] [stdout] 346 |             if let BitmexMsg::Data(msg_data) = msg {
[INFO] [stdout]     |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msg_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bid_key`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:559:47
[INFO] [stdout]     |
[INFO] [stdout] 559 | ...                   if let (Some((bid_key, _)), Some((ask_key, _))) = (bids.last_key_value(), asks.first_key_value()) {
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bid_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ask_key`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:559:67
[INFO] [stdout]     |
[INFO] [stdout] 559 | ...                   if let (Some((bid_key, _)), Some((ask_key, _))) = (bids.last_key_value(), asks.first_key_value()) {
[INFO] [stdout]     |                                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ask_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/clob_client/eip712struct.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |         for (k, v) in &self.values {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/exchange_listeners/event_processor.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 source,
[INFO] [stdout]     |                 ^^^^^^ help: try ignoring the field: `source: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kind`
[INFO] [stdout]    --> src/exchange_listeners/event_processor.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 kind,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `kind: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/exchange_listeners/event_processor.rs:141:17
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 value,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kind`
[INFO] [stdout]    --> src/exchange_listeners/event_processor.rs:143:38
[INFO] [stdout]     |
[INFO] [stdout] 143 |             SocketEvent::ClearRate { kind } => {}
[INFO] [stdout]     |                                      ^^^^ help: try ignoring the field: `kind: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]    --> src/exchange_listeners/event_processor.rs:490:13
[INFO] [stdout]     |
[INFO] [stdout] 490 |             timestamp,
[INFO] [stdout]     |             ^^^^^^^^^ help: try ignoring the field: `timestamp: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `market`
[INFO] [stdout]    --> src/exchange_listeners/event_processor.rs:492:13
[INFO] [stdout]     |
[INFO] [stdout] 492 |             market,
[INFO] [stdout]     |             ^^^^^^ help: try ignoring the field: `market: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/strategies/app_state_updates/update_crypto_prices.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let mut orderbook = orderbook_map
[INFO] [stdout]    |                 ----^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_message`
[INFO] [stdout]   --> src/strategies/logging/crypto_logging.rs:46:21
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 let log_message = format!(
[INFO] [stdout]    |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_message`
[INFO] [stdout]   --> src/strategies/logging/crypto_logging.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 let log_message = format!(
[INFO] [stdout]    |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_message`
[INFO] [stdout]    --> src/strategies/logging/crypto_logging.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 let log_message = format!(
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_message`
[INFO] [stdout]    --> src/strategies/logging/crypto_logging.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 let log_message = format!(
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orderbooks.rs:63:23
[INFO] [stdout]    |
[INFO] [stdout] 63 |             if let Ok(mut book) = orderbook_entry.write() {
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `associate_trades`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             associate_trades,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: try ignoring the field: `associate_trades: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event_type`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             event_type,
[INFO] [stdout]    |             ^^^^^^^^^^ help: try ignoring the field: `event_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `market`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             market,
[INFO] [stdout]    |             ^^^^^^ help: try ignoring the field: `market: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_owner`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |             order_owner,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: try ignoring the field: `order_owner: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outcome`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |             outcome,
[INFO] [stdout]    |             ^^^^^^^ help: try ignoring the field: `outcome: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `owner`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             owner,
[INFO] [stdout]    |             ^^^^^ help: try ignoring the field: `owner: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]   --> src/strategies/poly_state_updates/update_orders.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             timestamp,
[INFO] [stdout]    |             ^^^^^^^^^ help: try ignoring the field: `timestamp: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_position`
[INFO] [stdout]    --> src/strategies/custom/tob/tob_strategy.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let current_position = *positions.get(asset_id).unwrap_or(&0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other_position`
[INFO] [stdout]    --> src/strategies/custom/tob/tob_strategy.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let other_position = other_asset
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_other_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `price_u32`
[INFO] [stdout]    --> src/strategies/custom/tob/tob_strategy.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let price_u32 = match parse_millis(&_payload.price) {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_price_u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `price`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:203:29
[INFO] [stdout]     |
[INFO] [stdout] 203 |                         let price = price_str.parse::<f64>()?;
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bid_price`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:249:25
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     let bid_price = best_bid[0].parse::<f64>()?;
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bid_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ask_price`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:250:25
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     let ask_price = best_ask[0].parse::<f64>()?;
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ask_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bid_vol`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:251:25
[INFO] [stdout]     |
[INFO] [stdout] 251 |                     let bid_vol = best_bid[1].parse::<f64>().unwrap_or(0.0);
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bid_vol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ask_vol`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:252:25
[INFO] [stdout]     |
[INFO] [stdout] 252 |                     let ask_vol = best_ask[1].parse::<f64>().unwrap_or(0.0);
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ask_vol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg_data`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:346:36
[INFO] [stdout]     |
[INFO] [stdout] 346 |             if let BitmexMsg::Data(msg_data) = msg {
[INFO] [stdout]     |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msg_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bid_key`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:559:47
[INFO] [stdout]     |
[INFO] [stdout] 559 | ...                   if let (Some((bid_key, _)), Some((ask_key, _))) = (bids.last_key_value(), asks.first_key_value()) {
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bid_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ask_key`
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:559:67
[INFO] [stdout]     |
[INFO] [stdout] 559 | ...                   if let (Some((bid_key, _)), Some((ask_key, _))) = (bids.last_key_value(), asks.first_key_value()) {
[INFO] [stdout]     |                                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ask_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `events`
[INFO] [stdout]   --> src/main.rs:84:10
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let (events, market_map) = events_json_to_events_with_market_map(events);
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `market_config`
[INFO] [stdout]    --> src/main.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let market_config = autodiscover_market_config("bitcoin", "btc")
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_market_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/main.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |             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: function `get_order_amounts` is never used
[INFO] [stdout]    --> src/clob_client/builder.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn get_order_amounts(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLOB_DOMAIN_NAME` is never used
[INFO] [stdout]  --> src/clob_client/eip712.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const CLOB_DOMAIN_NAME: &str = "ClobAuthDomain";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLOB_VERSION` is never used
[INFO] [stdout]  --> src/clob_client/eip712.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const CLOB_VERSION: &str = "1";
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_TO_SIGN` is never used
[INFO] [stdout]  --> src/clob_client/eip712.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const MSG_TO_SIGN: &str = "This message attests that I control the given wallet";
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `EIP712Type` is never used
[INFO] [stdout]   --> src/clob_client/eip712struct.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait EIP712Type: fmt::Debug + Any {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EIP712Struct` is never constructed
[INFO] [stdout]   --> src/clob_client/eip712struct.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct EIP712Struct {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/clob_client/eip712struct.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl EIP712Struct {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  79 |     pub fn new(type_name: String, values: HashMap<String, Box<dyn EIP712Type>>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn encode_value(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn type_hash(&self) -> [u8; 32] {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn hash_struct(&self) -> [u8; 32] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn encode_type(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn gather_reference_structs<'a>(&'a self, struct_set: &mut HashSet<&'a EIP712Struct>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn get_member_names(&self) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn to_message(&self, domain: &EIP712Struct) -> JsonValue {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn to_data_dict(&self) -> JsonValue {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn signable_bytes(&self, domain: &EIP712Struct) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `keccak256` is never used
[INFO] [stdout]    --> src/clob_client/eip712struct.rs:216:4
[INFO] [stdout]     |
[INFO] [stdout] 216 | fn keccak256(input: &[u8]) -> [u8; 32] {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_ORDER` is never used
[INFO] [stdout]  --> src/clob_client/endpoints.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const GET_ORDER: &str = "/data/order/";
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CANCEL` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const CANCEL: &str = "/order";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CANCEL_MARKET_ORDERS` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const CANCEL_MARKET_ORDERS: &str = "/cancel-market-orders";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MID_POINT` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const MID_POINT: &str = "/midpoint";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MID_POINTS` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const MID_POINTS: &str = "/midpoints";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRICE` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const PRICE: &str = "/price";
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_PRICES` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const GET_PRICES: &str = "/prices";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_SPREAD` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const GET_SPREAD: &str = "/spread";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_SPREADS` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const GET_SPREADS: &str = "/spreads";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_LAST_TRADE_PRICE` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const GET_LAST_TRADE_PRICE: &str = "/last-trade-price";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_LAST_TRADES_PRICES` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const GET_LAST_TRADES_PRICES: &str = "/last-trades-prices";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UPDATE_BALANCE_ALLOWANCE` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const UPDATE_BALANCE_ALLOWANCE: &str = "/balance-allowance/update";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_TICK_SIZE` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const GET_TICK_SIZE: &str = "/tick-size";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_NEG_RISK` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const GET_NEG_RISK: &str = "/neg-risk";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `coinbase_legacy_listener` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:176:14
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub async fn coinbase_legacy_listener(crypto: Crypto, event_tx: Arc<CountingSender>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bitstamp_listener` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:228:14
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub async fn bitstamp_listener(crypto: Crypto, event_tx: Arc<CountingSender>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bitmex_listener` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:324:14
[INFO] [stdout]     |
[INFO] [stdout] 324 | pub async fn bitmex_listener(crypto: Crypto, event_tx: Arc<CountingSender>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `coinbase_advanced_listener` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:495:14
[INFO] [stdout]     |
[INFO] [stdout] 495 | pub async fn coinbase_advanced_listener(crypto: Crypto, event_tx: Arc<CountingSender>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kraken_listener` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:689:14
[INFO] [stdout]     |
[INFO] [stdout] 689 | pub async fn kraken_listener(crypto: Crypto, is_perp: bool, event_tx: Arc<CountingSender>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `UsdcUsdtBinance` and `UsdUsdtCoinbase` are never constructed
[INFO] [stdout]   --> src/exchange_listeners/crypto_models.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub enum RateKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 39 |     UsdcUsdtBinance,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     UsdUsdtCoinbase,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RateKind` 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: field `update_id` is never read
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub struct BinanceBookTicker {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 127 |     #[serde(rename = "u")]
[INFO] [stdout] 128 |     pub update_id: u64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoinbaseTicker` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct CoinbaseTicker<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CoinbaseLegacyMsg` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:158:10
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub enum CoinbaseLegacyMsg<'a> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CoinbaseAdvancedMsg` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:199:10
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub enum CoinbaseAdvancedMsg<'a> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `change_id` is never read
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub struct DeribitBookData {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub change_id: u64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeribitBookData` 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 `0` is never read
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:236:11
[INFO] [stdout]     |
[INFO] [stdout] 236 |     Other(simd_json::value::owned::Value),
[INFO] [stdout]     |     ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeribitMsg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 236 -     Other(simd_json::value::owned::Value),
[INFO] [stdout] 236 +     Other(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitstampData` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct BitstampData {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitstampBook` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:245:12
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub struct BitstampBook {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BitstampMsg` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:250:10
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub enum BitstampMsg {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `bid_price` and `ask_price` are never read
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub struct BitmexQuote {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 257 |     #[serde(rename = "bidPrice")]
[INFO] [stdout] 258 |     pub bid_price: f64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 259 |     #[serde(rename = "askPrice")]
[INFO] [stdout] 260 |     pub ask_price: f64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BitmexMsg` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:271:10
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub enum BitmexMsg {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:291:11
[INFO] [stdout]     |
[INFO] [stdout] 291 |     Other(simd_json::value::owned::Value),
[INFO] [stdout]     |     ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 291 -     Other(simd_json::value::owned::Value),
[INFO] [stdout] 291 +     Other(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:308:11
[INFO] [stdout]     |
[INFO] [stdout] 308 |     Other(simd_json::value::owned::Value),
[INFO] [stdout]     |     ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 308 -     Other(simd_json::value::owned::Value),
[INFO] [stdout] 308 +     Other(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KrakenLevel` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:312:12
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub struct KrakenLevel {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KrakenBookSnapshot` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:318:12
[INFO] [stdout]     |
[INFO] [stdout] 318 | pub struct KrakenBookSnapshot {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KrakenBookUpdate` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:325:12
[INFO] [stdout]     |
[INFO] [stdout] 325 | pub struct KrakenBookUpdate {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KrakenSubscribedMsg` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub struct KrakenSubscribedMsg {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `KrakenMsg` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:340:10
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub enum KrakenMsg {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `yes_token_id`, `no_token_id`, `end_time_et`, `binance_symbol`, and `strike_price` are never read
[INFO] [stdout]   --> src/exchange_listeners/autodiscover_markets.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MarketConfig {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 11 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 12 |     pub yes_token_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub no_token_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 14 |     pub end_time_et: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 15 |     pub binance_symbol: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub strike_price: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarketConfig` 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: variants `Rate` and `ClearRate` are never constructed
[INFO] [stdout]   --> src/exchange_listeners/event_processor.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum SocketEvent {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 38 |     Rate {
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     ClearRate {
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SocketEvent` 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: constant `POLY_WEBSOCKET_URL` is never used
[INFO] [stdout]   --> src/exchange_listeners/poly_listeners.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const POLY_WEBSOCKET_URL: &str = "wss://ws-live-data.polymarket.com/";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ASSETS_PER_SUB` is never used
[INFO] [stdout]   --> src/exchange_listeners/poly_listeners.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const MAX_ASSETS_PER_SUB: usize = 500;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `polymarket_websocket_handler` is never used
[INFO] [stdout]   --> src/exchange_listeners/poly_listeners.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | async fn polymarket_websocket_handler(
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `polymarket_market_listener` is never used
[INFO] [stdout]    --> src/exchange_listeners/poly_listeners.rs:135:14
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub async fn polymarket_market_listener(asset_ids: &[String], event_tx: Arc<CountingSender>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `polymarket_user_listener` is never used
[INFO] [stdout]    --> src/exchange_listeners/poly_listeners.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub async fn polymarket_user_listener(event_tx: Arc<CountingSender>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubscriptionRequest` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/poly_models.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct SubscriptionRequest<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Subscription` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/poly_models.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct Subscription<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClobAuth` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/poly_models.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct ClobAuth<'a> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `topic` and `connection_id` are never read
[INFO] [stdout]    --> src/exchange_listeners/poly_models.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct PolymarketMessageWrapper {
[INFO] [stdout]     |            ------------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub topic: Option<String>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 135 |     pub connection_id: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PolymarketMessageWrapper` 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 `old_tick_size` is never read
[INFO] [stdout]    --> src/exchange_listeners/poly_models.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct PolymarketMessageWrapperOld {
[INFO] [stdout]     |            --------------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub old_tick_size: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PolymarketMessageWrapperOld` 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 `hash`, `best_bid`, and `best_ask` are never read
[INFO] [stdout]    --> src/exchange_listeners/poly_models.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct LegacyPriceChange {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub hash: Option<String>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 168 |     pub best_bid: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 169 |     pub best_ask: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LegacyPriceChange` 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: field `timestamp` is never read
[INFO] [stdout]    --> src/exchange_listeners/poly_models.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub struct PriceChangePayload {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub timestamp: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PriceChangePayload` 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: structure field `POLY_ADDRESS` should have a snake case name
[INFO] [stdout]   --> src/clob_client/headers.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub POLY_ADDRESS: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `poly_address`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `POLY_SIGNATURE` should have a snake case name
[INFO] [stdout]   --> src/clob_client/headers.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub POLY_SIGNATURE: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `poly_signature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `POLY_TIMESTAMP` should have a snake case name
[INFO] [stdout]   --> src/clob_client/headers.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub POLY_TIMESTAMP: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `poly_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `POLY_API_KEY` should have a snake case name
[INFO] [stdout]   --> src/clob_client/headers.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub POLY_API_KEY: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `poly_api_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `POLY_PASSPHRASE` should have a snake case name
[INFO] [stdout]   --> src/clob_client/headers.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub POLY_PASSPHRASE: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `poly_passphrase`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `chainId` should have a snake case name
[INFO] [stdout]   --> src/clob_client/clob_auth.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub chainId: Option<U256>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `chain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `verifyingContract` should have a snake case name
[INFO] [stdout]   --> src/clob_client/clob_auth.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub verifyingContract: Option<Address>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `verifying_contract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `chainId` should have a snake case name
[INFO] [stdout]   --> src/clob_client/clob_auth.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         chainId: Option<U256>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `chain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `verifyingContract` should have a snake case name
[INFO] [stdout]   --> src/clob_client/clob_auth.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         verifyingContract: Option<Address>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `verifying_contract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `chainId` should have a snake case name
[INFO] [stdout]   --> src/clob_client/clob_auth.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     chainId: Option<U256>,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `chain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `verifyingContract` should have a snake case name
[INFO] [stdout]   --> src/clob_client/clob_auth.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     verifyingContract: Option<Address>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `verifying_contract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `eipStruct` should have a snake case name
[INFO] [stdout]   --> src/clob_client/clob_auth.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut eipStruct = EIP712Domain::new(None, None, None, None);
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `eip_struct`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `conditionId` should have a snake case name
[INFO] [stdout]  --> src/marketmaking/poly_market_struct.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub conditionId: Option<String>,
[INFO] [stdout]   |         ^^^^^^^^^^^ help: convert the identifier to snake case: `condition_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `assetAddress` should have a snake case name
[INFO] [stdout]  --> src/marketmaking/poly_market_struct.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub assetAddress: Option<String>,
[INFO] [stdout]   |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `asset_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rewardsAmount` should have a snake case name
[INFO] [stdout]  --> src/marketmaking/poly_market_struct.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub rewardsAmount: Option<f64>,
[INFO] [stdout]   |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `rewards_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rewardsDailyRate` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub rewardsDailyRate: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `rewards_daily_rate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startDate` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub startDate: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `start_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endDate` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub endDate: Option<String>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `end_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `conditionId` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub conditionId: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `condition_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `resolutionSource` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub resolutionSource: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `resolution_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endDate` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub endDate: Option<String>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `end_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startDate` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub startDate: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `start_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `outcomePrices` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub outcomePrices: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `outcome_prices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `marketType` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub marketType: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `market_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `marketMakerAddress` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub marketMakerAddress: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `market_maker_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updatedBy` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub updatedBy: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `updated_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `createdAt` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub createdAt: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `created_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updatedAt` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub updatedAt: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `updated_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `wideFormat` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub wideFormat: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `wide_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `resolvedBy` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub resolvedBy: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `resolved_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `groupItemTitle` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub groupItemTitle: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `group_item_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `groupItemThreshold` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub groupItemThreshold: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `group_item_threshold`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `questionID` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub questionID: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `question_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enableOrderBook` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub enableOrderBook: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `enable_order_book`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `orderPriceMinTickSize` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub orderPriceMinTickSize: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `order_price_min_tick_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `orderMinSize` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub orderMinSize: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `order_min_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `volumeNum` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub volumeNum: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `volume_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `liquidityNum` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub liquidityNum: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `liquidity_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endDateIso` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub endDateIso: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `end_date_iso`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startDateIso` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub startDateIso: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `start_date_iso`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `hasReviewedDates` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub hasReviewedDates: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `has_reviewed_dates`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `commentsEnabled` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub commentsEnabled: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `comments_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `secondsDelay` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub secondsDelay: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `seconds_delay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clobTokenIds` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub clobTokenIds: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `clob_token_ids`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `umaBond` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub umaBond: Option<String>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `uma_bond`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `umaReward` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub umaReward: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `uma_reward`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `fpmmLive` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fpmmLive: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `fpmm_live`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `volume24hrClob` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub volume24hrClob: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `volume24hr_clob`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `volumeClob` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub volumeClob: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `volume_clob`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `liquidityClob` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub liquidityClob: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `liquidity_clob`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `makerBaseFee` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub makerBaseFee: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `maker_base_fee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `takerBaseFee` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub takerBaseFee: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `taker_base_fee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `customLiveness` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub customLiveness: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `custom_liveness`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `acceptingOrders` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub acceptingOrders: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `accepting_orders`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRisk` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub negRisk: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `neg_risk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRiskMarketID` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub negRiskMarketID: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `neg_risk_market_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRiskRequestID` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub negRiskRequestID: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `neg_risk_request_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `commentCount` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub commentCount: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `comment_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `notificationsEnabled` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub notificationsEnabled: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `notifications_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pagerDutyNotificationEnabled` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub pagerDutyNotificationEnabled: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `pager_duty_notification_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clobRewards` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub clobRewards: Option<Vec<ClobReward>>,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `clob_rewards`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rewardsMinSize` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub rewardsMinSize: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `rewards_min_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rewardsMaxSpread` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub rewardsMaxSpread: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `rewards_max_spread`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `oneDayPriceChange` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub oneDayPriceChange: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `one_day_price_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastTradePrice` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub lastTradePrice: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `last_trade_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `bestBid` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub bestBid: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `best_bid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `bestAsk` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub bestAsk: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `best_ask`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `automaticallyActive` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub automaticallyActive: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `automatically_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clearBookOnStart` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub clearBookOnStart: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clear_book_on_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `resolutionSource` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub resolutionSource: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `resolution_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startDate` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub startDate: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `start_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `creationDate` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub creationDate: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `creation_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endDate` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub endDate: Option<String>,
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `end_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `openInterest` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub openInterest: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `open_interest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sortBy` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub sortBy: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `sort_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `reviewStatus` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub reviewStatus: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `review_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updatedBy` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub updatedBy: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `updated_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `createdAt` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub createdAt: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `created_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updatedAt` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub updatedAt: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `updated_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `commentsEnabled` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub commentsEnabled: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `comments_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `featuredImage` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub featuredImage: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `featured_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enableOrderBook` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub enableOrderBook: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `enable_order_book`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `liquidityClob` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub liquidityClob: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `liquidity_clob`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRisk` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub negRisk: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `neg_risk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRiskMarketID` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub negRiskMarketID: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `neg_risk_market_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRiskFeeBips` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub negRiskFeeBips: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `neg_risk_fee_bips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `commentCount` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub commentCount: Option<i32>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `comment_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enableNegRisk` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub enableNegRisk: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `enable_neg_risk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `resolutionSource` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub resolutionSource: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `resolution_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startDate` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub startDate: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `start_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `creationDate` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub creationDate: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `creation_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endDate` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub endDate: Option<String>,
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `end_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `openInterest` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub openInterest: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `open_interest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sortBy` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub sortBy: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `sort_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `reviewStatus` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub reviewStatus: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `review_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updatedBy` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub updatedBy: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `updated_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `createdAt` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub createdAt: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `created_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updatedAt` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub updatedAt: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `updated_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `commentsEnabled` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub commentsEnabled: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `comments_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `featuredImage` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub featuredImage: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `featured_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enableOrderBook` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub enableOrderBook: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `enable_order_book`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `liquidityClob` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub liquidityClob: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `liquidity_clob`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRisk` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub negRisk: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `neg_risk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRiskMarketID` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub negRiskMarketID: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `neg_risk_market_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRiskFeeBips` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub negRiskFeeBips: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `neg_risk_fee_bips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `commentCount` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub commentCount: Option<i32>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `comment_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enableNegRisk` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub enableNegRisk: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `enable_neg_risk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `negRiskMarketID` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:234:21
[INFO] [stdout]     |
[INFO] [stdout] 234 |         if let Some(negRiskMarketID) = &event_json.negRiskMarketID {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `neg_risk_market_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/exchange_listeners/event_processor.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 source,
[INFO] [stdout]     |                 ^^^^^^ help: try ignoring the field: `source: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kind`
[INFO] [stdout]    --> src/exchange_listeners/event_processor.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 kind,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `kind: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/exchange_listeners/event_processor.rs:141:17
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 value,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kind`
[INFO] [stdout]    --> src/exchange_listeners/event_processor.rs:143:38
[INFO] [stdout]     |
[INFO] [stdout] 143 |             SocketEvent::ClearRate { kind } => {}
[INFO] [stdout]     |                                      ^^^^ help: try ignoring the field: `kind: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]    --> src/exchange_listeners/event_processor.rs:490:13
[INFO] [stdout]     |
[INFO] [stdout] 490 |             timestamp,
[INFO] [stdout]     |             ^^^^^^^^^ help: try ignoring the field: `timestamp: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `market`
[INFO] [stdout]    --> src/exchange_listeners/event_processor.rs:492:13
[INFO] [stdout]     |
[INFO] [stdout] 492 |             market,
[INFO] [stdout]     |             ^^^^^^ help: try ignoring the field: `market: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `events`
[INFO] [stdout]   --> src/main.rs:84:10
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let (events, market_map) = events_json_to_events_with_market_map(events);
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `market_config`
[INFO] [stdout]    --> src/main.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let market_config = autodiscover_market_config("bitcoin", "btc")
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_market_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/main.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |             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: function `get_order_amounts` is never used
[INFO] [stdout]    --> src/clob_client/builder.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn get_order_amounts(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLOB_DOMAIN_NAME` is never used
[INFO] [stdout]  --> src/clob_client/eip712.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const CLOB_DOMAIN_NAME: &str = "ClobAuthDomain";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLOB_VERSION` is never used
[INFO] [stdout]  --> src/clob_client/eip712.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const CLOB_VERSION: &str = "1";
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_TO_SIGN` is never used
[INFO] [stdout]  --> src/clob_client/eip712.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const MSG_TO_SIGN: &str = "This message attests that I control the given wallet";
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `EIP712Type` is never used
[INFO] [stdout]   --> src/clob_client/eip712struct.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait EIP712Type: fmt::Debug + Any {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EIP712Struct` is never constructed
[INFO] [stdout]   --> src/clob_client/eip712struct.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct EIP712Struct {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/clob_client/eip712struct.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl EIP712Struct {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  79 |     pub fn new(type_name: String, values: HashMap<String, Box<dyn EIP712Type>>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn encode_value(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn type_hash(&self) -> [u8; 32] {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn hash_struct(&self) -> [u8; 32] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn encode_type(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn gather_reference_structs<'a>(&'a self, struct_set: &mut HashSet<&'a EIP712Struct>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn get_member_names(&self) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn to_message(&self, domain: &EIP712Struct) -> JsonValue {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn to_data_dict(&self) -> JsonValue {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn signable_bytes(&self, domain: &EIP712Struct) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `keccak256` is never used
[INFO] [stdout]    --> src/clob_client/eip712struct.rs:216:4
[INFO] [stdout]     |
[INFO] [stdout] 216 | fn keccak256(input: &[u8]) -> [u8; 32] {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_ORDER` is never used
[INFO] [stdout]  --> src/clob_client/endpoints.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const GET_ORDER: &str = "/data/order/";
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CANCEL` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const CANCEL: &str = "/order";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CANCEL_MARKET_ORDERS` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const CANCEL_MARKET_ORDERS: &str = "/cancel-market-orders";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MID_POINT` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const MID_POINT: &str = "/midpoint";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MID_POINTS` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const MID_POINTS: &str = "/midpoints";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRICE` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const PRICE: &str = "/price";
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_PRICES` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const GET_PRICES: &str = "/prices";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_SPREAD` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const GET_SPREAD: &str = "/spread";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_SPREADS` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const GET_SPREADS: &str = "/spreads";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_LAST_TRADE_PRICE` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const GET_LAST_TRADE_PRICE: &str = "/last-trade-price";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_LAST_TRADES_PRICES` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const GET_LAST_TRADES_PRICES: &str = "/last-trades-prices";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UPDATE_BALANCE_ALLOWANCE` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const UPDATE_BALANCE_ALLOWANCE: &str = "/balance-allowance/update";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_TICK_SIZE` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const GET_TICK_SIZE: &str = "/tick-size";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_NEG_RISK` is never used
[INFO] [stdout]   --> src/clob_client/endpoints.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const GET_NEG_RISK: &str = "/neg-risk";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `coinbase_legacy_listener` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:176:14
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub async fn coinbase_legacy_listener(crypto: Crypto, event_tx: Arc<CountingSender>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bitstamp_listener` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:228:14
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub async fn bitstamp_listener(crypto: Crypto, event_tx: Arc<CountingSender>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bitmex_listener` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:324:14
[INFO] [stdout]     |
[INFO] [stdout] 324 | pub async fn bitmex_listener(crypto: Crypto, event_tx: Arc<CountingSender>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `coinbase_advanced_listener` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:495:14
[INFO] [stdout]     |
[INFO] [stdout] 495 | pub async fn coinbase_advanced_listener(crypto: Crypto, event_tx: Arc<CountingSender>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kraken_listener` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_listeners.rs:689:14
[INFO] [stdout]     |
[INFO] [stdout] 689 | pub async fn kraken_listener(crypto: Crypto, is_perp: bool, event_tx: Arc<CountingSender>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `UsdcUsdtBinance` and `UsdUsdtCoinbase` are never constructed
[INFO] [stdout]   --> src/exchange_listeners/crypto_models.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub enum RateKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 39 |     UsdcUsdtBinance,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     UsdUsdtCoinbase,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RateKind` 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: field `update_id` is never read
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub struct BinanceBookTicker {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 127 |     #[serde(rename = "u")]
[INFO] [stdout] 128 |     pub update_id: u64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoinbaseTicker` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct CoinbaseTicker<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CoinbaseLegacyMsg` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:158:10
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub enum CoinbaseLegacyMsg<'a> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CoinbaseAdvancedMsg` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:199:10
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub enum CoinbaseAdvancedMsg<'a> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `change_id` is never read
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub struct DeribitBookData {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub change_id: u64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeribitBookData` 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 `0` is never read
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:236:11
[INFO] [stdout]     |
[INFO] [stdout] 236 |     Other(simd_json::value::owned::Value),
[INFO] [stdout]     |     ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeribitMsg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 236 -     Other(simd_json::value::owned::Value),
[INFO] [stdout] 236 +     Other(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitstampData` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct BitstampData {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitstampBook` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:245:12
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub struct BitstampBook {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BitstampMsg` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:250:10
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub enum BitstampMsg {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `bid_price` and `ask_price` are never read
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub struct BitmexQuote {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 257 |     #[serde(rename = "bidPrice")]
[INFO] [stdout] 258 |     pub bid_price: f64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 259 |     #[serde(rename = "askPrice")]
[INFO] [stdout] 260 |     pub ask_price: f64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BitmexMsg` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:271:10
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub enum BitmexMsg {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:291:11
[INFO] [stdout]     |
[INFO] [stdout] 291 |     Other(simd_json::value::owned::Value),
[INFO] [stdout]     |     ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 291 -     Other(simd_json::value::owned::Value),
[INFO] [stdout] 291 +     Other(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:308:11
[INFO] [stdout]     |
[INFO] [stdout] 308 |     Other(simd_json::value::owned::Value),
[INFO] [stdout]     |     ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 308 -     Other(simd_json::value::owned::Value),
[INFO] [stdout] 308 +     Other(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KrakenLevel` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:312:12
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub struct KrakenLevel {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KrakenBookSnapshot` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:318:12
[INFO] [stdout]     |
[INFO] [stdout] 318 | pub struct KrakenBookSnapshot {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KrakenBookUpdate` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:325:12
[INFO] [stdout]     |
[INFO] [stdout] 325 | pub struct KrakenBookUpdate {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KrakenSubscribedMsg` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub struct KrakenSubscribedMsg {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `KrakenMsg` is never used
[INFO] [stdout]    --> src/exchange_listeners/crypto_models.rs:340:10
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub enum KrakenMsg {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `yes_token_id`, `no_token_id`, `end_time_et`, `binance_symbol`, and `strike_price` are never read
[INFO] [stdout]   --> src/exchange_listeners/autodiscover_markets.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MarketConfig {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 11 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 12 |     pub yes_token_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub no_token_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 14 |     pub end_time_et: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 15 |     pub binance_symbol: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub strike_price: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarketConfig` 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: variants `Rate` and `ClearRate` are never constructed
[INFO] [stdout]   --> src/exchange_listeners/event_processor.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum SocketEvent {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 38 |     Rate {
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     ClearRate {
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SocketEvent` 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: constant `POLY_WEBSOCKET_URL` is never used
[INFO] [stdout]   --> src/exchange_listeners/poly_listeners.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const POLY_WEBSOCKET_URL: &str = "wss://ws-live-data.polymarket.com/";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ASSETS_PER_SUB` is never used
[INFO] [stdout]   --> src/exchange_listeners/poly_listeners.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const MAX_ASSETS_PER_SUB: usize = 500;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `polymarket_websocket_handler` is never used
[INFO] [stdout]   --> src/exchange_listeners/poly_listeners.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | async fn polymarket_websocket_handler(
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `polymarket_market_listener` is never used
[INFO] [stdout]    --> src/exchange_listeners/poly_listeners.rs:135:14
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub async fn polymarket_market_listener(asset_ids: &[String], event_tx: Arc<CountingSender>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `polymarket_user_listener` is never used
[INFO] [stdout]    --> src/exchange_listeners/poly_listeners.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub async fn polymarket_user_listener(event_tx: Arc<CountingSender>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubscriptionRequest` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/poly_models.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct SubscriptionRequest<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Subscription` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/poly_models.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct Subscription<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClobAuth` is never constructed
[INFO] [stdout]    --> src/exchange_listeners/poly_models.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct ClobAuth<'a> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `topic` and `connection_id` are never read
[INFO] [stdout]    --> src/exchange_listeners/poly_models.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct PolymarketMessageWrapper {
[INFO] [stdout]     |            ------------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub topic: Option<String>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 135 |     pub connection_id: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PolymarketMessageWrapper` 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 `old_tick_size` is never read
[INFO] [stdout]    --> src/exchange_listeners/poly_models.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct PolymarketMessageWrapperOld {
[INFO] [stdout]     |            --------------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub old_tick_size: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PolymarketMessageWrapperOld` 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 `hash`, `best_bid`, and `best_ask` are never read
[INFO] [stdout]    --> src/exchange_listeners/poly_models.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct LegacyPriceChange {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub hash: Option<String>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 168 |     pub best_bid: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 169 |     pub best_ask: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LegacyPriceChange` 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: field `timestamp` is never read
[INFO] [stdout]    --> src/exchange_listeners/poly_models.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub struct PriceChangePayload {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub timestamp: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PriceChangePayload` 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: structure field `POLY_ADDRESS` should have a snake case name
[INFO] [stdout]   --> src/clob_client/headers.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub POLY_ADDRESS: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `poly_address`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `POLY_SIGNATURE` should have a snake case name
[INFO] [stdout]   --> src/clob_client/headers.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub POLY_SIGNATURE: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `poly_signature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `POLY_TIMESTAMP` should have a snake case name
[INFO] [stdout]   --> src/clob_client/headers.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub POLY_TIMESTAMP: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `poly_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `POLY_API_KEY` should have a snake case name
[INFO] [stdout]   --> src/clob_client/headers.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub POLY_API_KEY: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `poly_api_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `POLY_PASSPHRASE` should have a snake case name
[INFO] [stdout]   --> src/clob_client/headers.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub POLY_PASSPHRASE: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `poly_passphrase`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `chainId` should have a snake case name
[INFO] [stdout]   --> src/clob_client/clob_auth.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub chainId: Option<U256>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `chain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `verifyingContract` should have a snake case name
[INFO] [stdout]   --> src/clob_client/clob_auth.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub verifyingContract: Option<Address>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `verifying_contract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `chainId` should have a snake case name
[INFO] [stdout]   --> src/clob_client/clob_auth.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         chainId: Option<U256>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `chain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `verifyingContract` should have a snake case name
[INFO] [stdout]   --> src/clob_client/clob_auth.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         verifyingContract: Option<Address>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `verifying_contract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `chainId` should have a snake case name
[INFO] [stdout]   --> src/clob_client/clob_auth.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     chainId: Option<U256>,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to snake case: `chain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `verifyingContract` should have a snake case name
[INFO] [stdout]   --> src/clob_client/clob_auth.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     verifyingContract: Option<Address>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `verifying_contract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `eipStruct` should have a snake case name
[INFO] [stdout]   --> src/clob_client/clob_auth.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut eipStruct = EIP712Domain::new(None, None, None, None);
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `eip_struct`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `conditionId` should have a snake case name
[INFO] [stdout]  --> src/marketmaking/poly_market_struct.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub conditionId: Option<String>,
[INFO] [stdout]   |         ^^^^^^^^^^^ help: convert the identifier to snake case: `condition_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `assetAddress` should have a snake case name
[INFO] [stdout]  --> src/marketmaking/poly_market_struct.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub assetAddress: Option<String>,
[INFO] [stdout]   |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `asset_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rewardsAmount` should have a snake case name
[INFO] [stdout]  --> src/marketmaking/poly_market_struct.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub rewardsAmount: Option<f64>,
[INFO] [stdout]   |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `rewards_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rewardsDailyRate` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub rewardsDailyRate: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `rewards_daily_rate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startDate` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub startDate: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `start_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endDate` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub endDate: Option<String>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `end_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `conditionId` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub conditionId: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `condition_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `resolutionSource` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub resolutionSource: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `resolution_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endDate` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub endDate: Option<String>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `end_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startDate` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub startDate: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `start_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `outcomePrices` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub outcomePrices: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `outcome_prices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `marketType` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub marketType: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `market_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `marketMakerAddress` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub marketMakerAddress: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `market_maker_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updatedBy` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub updatedBy: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `updated_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `createdAt` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub createdAt: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `created_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updatedAt` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub updatedAt: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `updated_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `wideFormat` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub wideFormat: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `wide_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `resolvedBy` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub resolvedBy: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `resolved_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `groupItemTitle` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub groupItemTitle: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `group_item_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `groupItemThreshold` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub groupItemThreshold: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `group_item_threshold`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `questionID` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub questionID: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `question_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enableOrderBook` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub enableOrderBook: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `enable_order_book`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `orderPriceMinTickSize` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub orderPriceMinTickSize: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `order_price_min_tick_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `orderMinSize` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub orderMinSize: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `order_min_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `volumeNum` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub volumeNum: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `volume_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `liquidityNum` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub liquidityNum: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `liquidity_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endDateIso` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub endDateIso: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `end_date_iso`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startDateIso` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub startDateIso: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `start_date_iso`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `hasReviewedDates` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub hasReviewedDates: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `has_reviewed_dates`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `commentsEnabled` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub commentsEnabled: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `comments_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `secondsDelay` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub secondsDelay: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `seconds_delay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clobTokenIds` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub clobTokenIds: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `clob_token_ids`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `umaBond` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub umaBond: Option<String>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `uma_bond`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `umaReward` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub umaReward: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `uma_reward`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `fpmmLive` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fpmmLive: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `fpmm_live`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `volume24hrClob` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub volume24hrClob: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `volume24hr_clob`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `volumeClob` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub volumeClob: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `volume_clob`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `liquidityClob` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub liquidityClob: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `liquidity_clob`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `makerBaseFee` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub makerBaseFee: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `maker_base_fee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `takerBaseFee` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub takerBaseFee: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `taker_base_fee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `customLiveness` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub customLiveness: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `custom_liveness`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `acceptingOrders` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub acceptingOrders: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `accepting_orders`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRisk` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub negRisk: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `neg_risk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRiskMarketID` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub negRiskMarketID: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `neg_risk_market_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRiskRequestID` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub negRiskRequestID: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `neg_risk_request_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `commentCount` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub commentCount: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `comment_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `notificationsEnabled` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub notificationsEnabled: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `notifications_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pagerDutyNotificationEnabled` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub pagerDutyNotificationEnabled: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `pager_duty_notification_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clobRewards` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub clobRewards: Option<Vec<ClobReward>>,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `clob_rewards`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rewardsMinSize` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub rewardsMinSize: Option<i64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `rewards_min_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `rewardsMaxSpread` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub rewardsMaxSpread: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `rewards_max_spread`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `oneDayPriceChange` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub oneDayPriceChange: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `one_day_price_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastTradePrice` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub lastTradePrice: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `last_trade_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `bestBid` should have a snake case name
[INFO] [stdout]   --> src/marketmaking/poly_market_struct.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub bestBid: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `best_bid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `bestAsk` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub bestAsk: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `best_ask`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `automaticallyActive` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub automaticallyActive: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `automatically_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clearBookOnStart` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub clearBookOnStart: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clear_book_on_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `resolutionSource` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub resolutionSource: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `resolution_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startDate` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub startDate: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `start_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `creationDate` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub creationDate: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `creation_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endDate` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub endDate: Option<String>,
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `end_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `openInterest` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub openInterest: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `open_interest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sortBy` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub sortBy: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `sort_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `reviewStatus` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub reviewStatus: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `review_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updatedBy` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub updatedBy: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `updated_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `createdAt` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub createdAt: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `created_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updatedAt` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub updatedAt: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `updated_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `commentsEnabled` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub commentsEnabled: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `comments_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `featuredImage` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub featuredImage: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `featured_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enableOrderBook` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub enableOrderBook: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `enable_order_book`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `liquidityClob` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub liquidityClob: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `liquidity_clob`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRisk` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub negRisk: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `neg_risk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRiskMarketID` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub negRiskMarketID: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `neg_risk_market_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRiskFeeBips` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub negRiskFeeBips: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `neg_risk_fee_bips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `commentCount` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub commentCount: Option<i32>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `comment_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enableNegRisk` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub enableNegRisk: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `enable_neg_risk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `resolutionSource` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub resolutionSource: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `resolution_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startDate` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub startDate: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `start_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `creationDate` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub creationDate: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `creation_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `endDate` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub endDate: Option<String>,
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `end_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `openInterest` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub openInterest: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `open_interest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `sortBy` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub sortBy: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `sort_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `reviewStatus` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub reviewStatus: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `review_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updatedBy` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub updatedBy: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `updated_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `createdAt` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub createdAt: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `created_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updatedAt` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub updatedAt: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `updated_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `commentsEnabled` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub commentsEnabled: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `comments_enabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `featuredImage` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub featuredImage: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `featured_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enableOrderBook` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub enableOrderBook: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `enable_order_book`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `liquidityClob` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub liquidityClob: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `liquidity_clob`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRisk` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub negRisk: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `neg_risk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRiskMarketID` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub negRiskMarketID: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `neg_risk_market_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `negRiskFeeBips` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub negRiskFeeBips: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `neg_risk_fee_bips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `commentCount` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub commentCount: Option<i32>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `comment_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enableNegRisk` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub enableNegRisk: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `enable_neg_risk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `negRiskMarketID` should have a snake case name
[INFO] [stdout]    --> src/marketmaking/poly_market_struct.rs:234:21
[INFO] [stdout]     |
[INFO] [stdout] 234 |         if let Some(negRiskMarketID) = &event_json.negRiskMarketID {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `neg_risk_market_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 51s
[INFO] running `Command { std: "docker" "inspect" "1f97d2c136550519e00d7ad194dfa7b74e40155f39aa135eede095a10a5a1682", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f97d2c136550519e00d7ad194dfa7b74e40155f39aa135eede095a10a5a1682", kill_on_drop: false }`
[INFO] [stdout] 1f97d2c136550519e00d7ad194dfa7b74e40155f39aa135eede095a10a5a1682
