[INFO] fetching crate kuru-sdk-rs 0.1.1...
[INFO] checking kuru-sdk-rs-0.1.1 against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] extracting crate kuru-sdk-rs 0.1.1 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate kuru-sdk-rs 0.1.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate kuru-sdk-rs 0.1.1
[INFO] tweaked toml for crates.io crate kuru-sdk-rs 0.1.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate kuru-sdk-rs 0.1.1 on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate kuru-sdk-rs 0.1.1 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rust_engineio v0.6.0
[INFO] [stderr]   Downloaded rust_socketio v0.6.0
[INFO] [stderr]   Downloaded alloy-eip7702 v0.1.0
[INFO] [stderr]   Downloaded alloy-core v0.8.3
[INFO] [stderr]   Downloaded async-trait v0.1.82
[INFO] [stderr]   Downloaded alloy-sol-type-parser v0.8.7
[INFO] [stderr]   Downloaded alloy-chains v0.1.33
[INFO] [stderr]   Downloaded alloy-sol-macro-expander v0.8.7
[INFO] [stderr]   Downloaded alloy-dyn-abi v0.8.7
[INFO] [stderr]   Downloaded alloy-primitives v0.8.7
[INFO] [stderr]   Downloaded alloy-sol-types v0.8.7
[INFO] [stderr]   Downloaded alloy-json-abi v0.8.7
[INFO] [stderr]   Downloaded syn-solidity v0.8.7
[INFO] [stderr]   Downloaded alloy-sol-macro-input v0.8.7
[INFO] [stderr]   Downloaded alloy-sol-macro v0.8.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4e5202aa1cf27df922d13bedc1e5d50396ead66bcfd13ce734ccee563799a218
[INFO] running `Command { std: "docker" "start" "-a" "4e5202aa1cf27df922d13bedc1e5d50396ead66bcfd13ce734ccee563799a218", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4e5202aa1cf27df922d13bedc1e5d50396ead66bcfd13ce734ccee563799a218", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e5202aa1cf27df922d13bedc1e5d50396ead66bcfd13ce734ccee563799a218", kill_on_drop: false }`
[INFO] [stdout] 4e5202aa1cf27df922d13bedc1e5d50396ead66bcfd13ce734ccee563799a218
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8f719fc0252e3791f62f3ee4d9f4f59f87cac0586698c2a3e02eeddc6c724761
[INFO] running `Command { std: "docker" "start" "-a" "8f719fc0252e3791f62f3ee4d9f4f59f87cac0586698c2a3e02eeddc6c724761", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling syn v2.0.77
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling ruint-macro v1.2.1
[INFO] [stderr]     Checking hex-literal v0.4.1
[INFO] [stderr]    Compiling serde_json v1.0.128
[INFO] [stderr]    Compiling winnow v0.6.18
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling indexmap v2.5.0
[INFO] [stderr]     Checking rustls-pki-types v1.8.0
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]    Compiling blst v0.3.13
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]     Checking url v2.5.2
[INFO] [stderr]    Compiling c-kzg v1.0.3
[INFO] [stderr]     Checking data-encoding v2.6.0
[INFO] [stderr]     Checking futures-utils-wasm v0.1.0
[INFO] [stderr]    Compiling rustls v0.23.13
[INFO] [stderr]     Checking rustls-pemfile v2.1.3
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking ff v0.13.0
[INFO] [stderr]     Checking openssl-sys v0.9.103
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]     Checking bimap v0.6.3
[INFO] [stderr]     Checking webpki-roots v0.26.6
[INFO] [stderr]    Compiling doctest-file v1.0.0
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking eyre v0.6.12
[INFO] [stderr]    Compiling syn-solidity v0.8.7
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling alloy-rlp-derive v0.3.8
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.64
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking der v0.7.9
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking thiserror v1.0.64
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]     Checking openssl v0.10.66
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking k256 v0.13.4
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]    Compiling async-trait v0.1.82
[INFO] [stderr]    Compiling auto_impl v1.2.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]     Checking async-stream v0.3.5
[INFO] [stderr]    Compiling num_enum_derive v0.7.3
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking tower v0.5.1
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking backoff v0.4.0
[INFO] [stderr]     Checking num_enum v0.7.3
[INFO] [stderr]     Checking native-tls v0.2.12
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking alloy-chains v0.1.33
[INFO] [stderr]     Checking bytes v1.7.2
[INFO] [stderr]     Checking const-hex v1.12.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking alloy-sol-type-parser v0.8.7
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling ruint v1.12.3
[INFO] [stderr]     Checking alloy-rlp v0.3.8
[INFO] [stderr]     Checking tokio v1.40.0
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]     Checking lru v0.12.4
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]    Compiling alloy-primitives v0.8.7
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking tungstenite v0.23.0
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]    Compiling alloy-json-abi v0.8.7
[INFO] [stderr]     Checking alloy-serde v0.3.6
[INFO] [stderr]     Checking alloy-eip7702 v0.1.0
[INFO] [stderr]     Checking alloy-eip2930 v0.1.0
[INFO] [stderr]     Checking alloy-signer v0.3.6
[INFO] [stderr]     Checking alloy-eips v0.3.6
[INFO] [stderr]    Compiling alloy-sol-macro-input v0.8.7
[INFO] [stderr]     Checking alloy-network-primitives v0.3.6
[INFO] [stderr]     Checking alloy-consensus v0.3.6
[INFO] [stderr]    Compiling alloy-sol-macro-expander v0.8.7
[INFO] [stderr]     Checking tokio-util v0.7.12
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-rustls v0.26.0
[INFO] [stderr]     Checking interprocess v2.2.1
[INFO] [stderr]     Checking tokio-tungstenite v0.23.1
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[INFO] [stderr]     Checking h2 v0.4.6
[INFO] [stderr]     Checking tokio-stream v0.1.16
[INFO] [stderr]    Compiling alloy-sol-macro v0.8.7
[INFO] [stderr]     Checking alloy-sol-types v0.8.7
[INFO] [stderr]     Checking hyper v1.4.1
[INFO] [stderr]     Checking hyper-util v0.1.8
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.7
[INFO] [stderr]     Checking rust_engineio v0.6.0
[INFO] [stderr]     Checking rust_socketio v0.6.0
[INFO] [stderr]     Checking alloy-json-rpc v0.3.6
[INFO] [stderr]     Checking alloy-rpc-types-eth v0.3.6
[INFO] [stderr]     Checking alloy-dyn-abi v0.8.7
[INFO] [stderr]     Checking alloy-transport v0.3.6
[INFO] [stderr]     Checking alloy-pubsub v0.3.6
[INFO] [stderr]     Checking alloy-transport-http v0.3.6
[INFO] [stderr]     Checking alloy-core v0.8.3
[INFO] [stderr]     Checking alloy-transport-ipc v0.3.6
[INFO] [stderr]     Checking alloy-transport-ws v0.3.6
[INFO] [stderr]     Checking alloy-rpc-client v0.3.6
[INFO] [stderr]     Checking alloy-network v0.3.6
[INFO] [stderr]     Checking alloy-rpc-types v0.3.6
[INFO] [stderr]     Checking alloy-provider v0.3.6
[INFO] [stderr]     Checking alloy-signer-local v0.3.6
[INFO] [stderr]     Checking alloy-contract v0.3.6
[INFO] [stderr]     Checking alloy v0.3.6
[INFO] [stderr]     Checking kuru-sdk-rs v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `futures_util::FutureExt`
[INFO] [stdout]  --> src/inventory.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures_util::FutureExt;
[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: `native_tls::TlsConnector`
[INFO] [stdout]  --> src/inventory.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use native_tls::TlsConnector;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClientBuilder`, `RawClient`, `client::Client`, and `payload`
[INFO] [stdout]  --> src/inventory.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 |     /*asynchronous::{Client, ClientBuilder},*/ client::Client, payload, ClientBuilder,
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 7 |     Payload, RawClient,
[INFO] [stdout]   |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/inventory.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `fmt::format`, `thread`, and `time::Duration`
[INFO] [stdout]   --> src/inventory.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fmt::format,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 13 |     sync::{Arc, Mutex},
[INFO] [stdout]    |            ^^^  ^^^^^
[INFO] [stdout] 14 |     thread,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 15 |     time::Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoxFuture`, `FixedBytes`, `NetworkWallet`, `http::Http`, `signers::local::PrivateKeySigner`, and `sol`
[INFO] [stdout]   --> src/kuru_forwarder.rs:6:41
[INFO] [stdout]    |
[INFO] [stdout]  6 |     network::{Ethereum, EthereumWallet, NetworkWallet, TransactionBuilder},
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^
[INFO] [stdout]  7 |     primitives::{Address, Bytes, FixedBytes, U256},
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     signers::local::PrivateKeySigner,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     sol,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 12 |     transports::{http::Http, BoxFuture, Transport},
[INFO] [stdout]    |                  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloy_sol_types::SolValue`
[INFO] [stdout]   --> src/kuru_forwarder.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use alloy_sol_types::SolValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/marginaccount.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> src/marginaccount.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/marginaccount.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert_dynsolvalue`
[INFO] [stdout]  --> src/orderbook.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     convert_dynsolvalue, convert_dynsolvalue_to_u96, fetch_kuru_order_id, uint_to_dyn_sol_val,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]   --> src/orderbook.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use serde_json::Value;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/orderbook.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs`
[INFO] [stdout]   --> src/orderbook.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::{fmt, fs};
[INFO] [stdout]    |                ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> src/token.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/token.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `I256` and `Uint`
[INFO] [stdout]  --> src/utils.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use alloy::primitives::{FixedBytes, Uint, I256, U256};
[INFO] [stdout]   |                                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SolType` and `SolValue`
[INFO] [stdout]  --> src/utils.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use alloy_sol_types::{SolType, SolValue};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Div`, `Mul`, and `Rem`
[INFO] [stdout]  --> src/utils.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{Div, Mul, Rem};
[INFO] [stdout]   |                ^^^  ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoxFuture`, `http::Http`, `signers::local::PrivateKeySigner`, and `sol`
[INFO] [stdout]   --> src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     signers::local::PrivateKeySigner,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     sol,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 19 |     transports::{http::Http, BoxFuture, Transport},
[INFO] [stdout]    |                  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `random`
[INFO] [stdout]   --> src/lib.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | use rand::{random, Rng};
[INFO] [stdout]    |            ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Client` and `Url`
[INFO] [stdout]   --> src/lib.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 | use reqwest::{Client, Url};
[INFO] [stdout]    |               ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils::fetch_kuru_order_id`
[INFO] [stdout]   --> src/lib.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use utils::fetch_kuru_order_id;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OrderSide`
[INFO] [stdout]   --> src/lib.rs:41:24
[INFO] [stdout]    |
[INFO] [stdout] 41 | use orderbook::{Order, OrderSide, Orderbook};
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated tuple variant `rust_socketio::Payload::String`: Use `Payload::Text` instead. Continue existing behavior with: Payload::from(String)
[INFO] [stdout]   --> src/inventory.rs:83:22
[INFO] [stdout]    |
[INFO] [stdout] 83 |             Payload::String(_) => unimplemented!(),
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated tuple variant `rust_socketio::Payload::String`: Use `Payload::Text` instead. Continue existing behavior with: Payload::from(String)
[INFO] [stdout]    --> src/inventory.rs:115:22
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Payload::String(_) => unimplemented!(),
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated tuple variant `rust_socketio::Payload::String`: Use `Payload::Text` instead. Continue existing behavior with: Payload::from(String)
[INFO] [stdout]    --> src/inventory.rs:129:22
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Payload::String(payload_string) => unimplemented!(),
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::FutureExt`
[INFO] [stdout]  --> src/inventory.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures_util::FutureExt;
[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: `native_tls::TlsConnector`
[INFO] [stdout]  --> src/inventory.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use native_tls::TlsConnector;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClientBuilder`, `RawClient`, `client::Client`, and `payload`
[INFO] [stdout]  --> src/inventory.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 |     /*asynchronous::{Client, ClientBuilder},*/ client::Client, payload, ClientBuilder,
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 7 |     Payload, RawClient,
[INFO] [stdout]   |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/inventory.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `fmt::format`, `thread`, and `time::Duration`
[INFO] [stdout]   --> src/inventory.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fmt::format,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 13 |     sync::{Arc, Mutex},
[INFO] [stdout]    |            ^^^  ^^^^^
[INFO] [stdout] 14 |     thread,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 15 |     time::Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoxFuture`, `FixedBytes`, `NetworkWallet`, `http::Http`, `signers::local::PrivateKeySigner`, and `sol`
[INFO] [stdout]   --> src/kuru_forwarder.rs:6:41
[INFO] [stdout]    |
[INFO] [stdout]  6 |     network::{Ethereum, EthereumWallet, NetworkWallet, TransactionBuilder},
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^
[INFO] [stdout]  7 |     primitives::{Address, Bytes, FixedBytes, U256},
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     signers::local::PrivateKeySigner,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     sol,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 12 |     transports::{http::Http, BoxFuture, Transport},
[INFO] [stdout]    |                  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloy_sol_types::SolValue`
[INFO] [stdout]   --> src/kuru_forwarder.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use alloy_sol_types::SolValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `inventory::Inventory`
[INFO] [stdout]  --> src/lib_test.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         inventory::Inventory,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Transport` and `U32`
[INFO] [stdout]   --> src/lib_test.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 |         primitives::{U256, U32},
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |         transports::{http::Http, Transport},
[INFO] [stdout]    |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloy_json_rpc::RequestPacket`
[INFO] [stdout]   --> src/lib_test.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     use alloy_json_rpc::RequestPacket;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tower_service::Service`
[INFO] [stdout]   --> src/lib_test.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     use tower_service::Service;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/lib_test.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/marginaccount.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> src/marginaccount.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/marginaccount.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert_dynsolvalue`
[INFO] [stdout]  --> src/orderbook.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     convert_dynsolvalue, convert_dynsolvalue_to_u96, fetch_kuru_order_id, uint_to_dyn_sol_val,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]   --> src/orderbook.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use serde_json::Value;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/orderbook.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs`
[INFO] [stdout]   --> src/orderbook.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::{fmt, fs};
[INFO] [stdout]    |                ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> src/token.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/token.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `I256` and `Uint`
[INFO] [stdout]  --> src/utils.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use alloy::primitives::{FixedBytes, Uint, I256, U256};
[INFO] [stdout]   |                                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SolType` and `SolValue`
[INFO] [stdout]  --> src/utils.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use alloy_sol_types::{SolType, SolValue};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Div`, `Mul`, and `Rem`
[INFO] [stdout]  --> src/utils.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{Div, Mul, Rem};
[INFO] [stdout]   |                ^^^  ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoxFuture`, `http::Http`, `signers::local::PrivateKeySigner`, and `sol`
[INFO] [stdout]   --> src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     signers::local::PrivateKeySigner,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     sol,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 19 |     transports::{http::Http, BoxFuture, Transport},
[INFO] [stdout]    |                  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `random`
[INFO] [stdout]   --> src/lib.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | use rand::{random, Rng};
[INFO] [stdout]    |            ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Client` and `Url`
[INFO] [stdout]   --> src/lib.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 | use reqwest::{Client, Url};
[INFO] [stdout]    |               ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils::fetch_kuru_order_id`
[INFO] [stdout]   --> src/lib.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use utils::fetch_kuru_order_id;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated tuple variant `rust_socketio::Payload::String`: Use `Payload::Text` instead. Continue existing behavior with: Payload::from(String)
[INFO] [stdout]   --> src/inventory.rs:83:22
[INFO] [stdout]    |
[INFO] [stdout] 83 |             Payload::String(_) => unimplemented!(),
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated tuple variant `rust_socketio::Payload::String`: Use `Payload::Text` instead. Continue existing behavior with: Payload::from(String)
[INFO] [stdout]    --> src/inventory.rs:115:22
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Payload::String(_) => unimplemented!(),
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated tuple variant `rust_socketio::Payload::String`: Use `Payload::Text` instead. Continue existing behavior with: Payload::from(String)
[INFO] [stdout]    --> src/inventory.rs:129:22
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Payload::String(payload_string) => unimplemented!(),
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     mut stop_signal: watch::Receiver<bool>,
[INFO] [stdout]    |     ----^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     mut stop_signal: watch::Receiver<bool>,
[INFO] [stdout]     |     ----^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:311:21
[INFO] [stdout]     |
[INFO] [stdout] 311 |                     _ => eprintln!("Unknown event type: {:?}", event_type),
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/lib.rs:311:21
[INFO] [stdout]     |
[INFO] [stdout] 308 |                     SocketEvents::OrderCreated => inventory.lock().await.handle_order_created(payload),
[INFO] [stdout]     |                     -------------------------- matches some of the same values
[INFO] [stdout] 309 |                     SocketEvents::Trade => inventory.lock().await.handle_trade(payload),
[INFO] [stdout]     |                     ------------------- matches some of the same values
[INFO] [stdout] 310 |                     SocketEvents::OrdersCancelled => inventory.lock().await.handle_orders_cancelled(payload),
[INFO] [stdout]     |                     ----------------------------- matches some of the same values
[INFO] [stdout] 311 |                     _ => eprintln!("Unknown event type: {:?}", event_type),
[INFO] [stdout]     |                     ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `rust_socketio::Payload::String::0`: Use `Payload::Text` instead. Continue existing behavior with: Payload::from(String)
[INFO] [stdout]   --> src/inventory.rs:83:29
[INFO] [stdout]    |
[INFO] [stdout] 83 |             Payload::String(_) => unimplemented!(),
[INFO] [stdout]    |                             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `rust_socketio::Payload::String::0`: Use `Payload::Text` instead. Continue existing behavior with: Payload::from(String)
[INFO] [stdout]    --> src/inventory.rs:115:29
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Payload::String(_) => unimplemented!(),
[INFO] [stdout]     |                             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `rust_socketio::Payload::String::0`: Use `Payload::Text` instead. Continue existing behavior with: Payload::from(String)
[INFO] [stdout]    --> src/inventory.rs:129:29
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Payload::String(payload_string) => unimplemented!(),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx_hash`
[INFO] [stdout]    --> src/inventory.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 let tx_hash = payload_data[0]
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_hash`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload_bin`
[INFO] [stdout]    --> src/inventory.rs:128:29
[INFO] [stdout]     |
[INFO] [stdout] 128 |             Payload::Binary(payload_bin) => unimplemented!(),
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload_bin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload_string`
[INFO] [stdout]    --> src/inventory.rs:129:29
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Payload::String(payload_string) => unimplemented!(),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     mut stop_signal: watch::Receiver<bool>,
[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: `size`
[INFO] [stdout]    --> src/orderbook.rs:827:9
[INFO] [stdout]     |
[INFO] [stdout] 827 |         size: &str,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `price_u256`
[INFO] [stdout]    --> src/orderbook.rs:891:13
[INFO] [stdout]     |
[INFO] [stdout] 891 |         let price_u256 = order_data[4].as_uint().unwrap().0;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_price_u256`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     mut stop_signal: watch::Receiver<bool>,
[INFO] [stdout]     |     ----^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `gas_price` is never read
[INFO] [stdout]   --> src/lib.rs:82:30
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 Ok(price) => gas_price = Some(price),
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: did you mean to capture by reference instead?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `gas_price` is never read
[INFO] [stdout]   --> src/lib.rs:82:30
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 Ok(price) => gas_price = Some(price),
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |             Err(e) => match order {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |             Err(e) => match order {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `websocket`
[INFO] [stdout]    --> src/lib.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let websocket = ClientBuilder::new(websocket_address)
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_websocket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `orderbook`
[INFO] [stdout]    --> src/lib.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     orderbook: Arc<Orderbook<T, P>>,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_orderbook`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]    --> src/lib.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 |     provider: Arc<P>,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `websocket_task`
[INFO] [stdout]    --> src/lib.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let websocket_task = tokio::spawn(async move {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_websocket_task`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `OrderPending` is more private than the item `Inventory::add_pending_order`
[INFO] [stdout]   --> src/inventory.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn add_pending_order(&mut self, pending_order: OrderPending) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Inventory::add_pending_order` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `OrderPending` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/lib.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | struct OrderPending {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SuccessfulOrder` is more private than the item `Inventory::add_successful_order`
[INFO] [stdout]    --> src/inventory.rs:46:5
[INFO] [stdout]     |
[INFO] [stdout]  46 |     pub fn add_successful_order(&mut self, successful_order: SuccessfulOrder) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Inventory::add_successful_order` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `SuccessfulOrder` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/lib.rs:211:1
[INFO] [stdout]     |
[INFO] [stdout] 211 | struct SuccessfulOrder {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TransactionError` is never used
[INFO] [stdout]   --> src/lib.rs:60:6
[INFO] [stdout]    |
[INFO] [stdout] 60 | enum TransactionError {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_transaction` is never used
[INFO] [stdout]    --> src/lib.rs:184:10
[INFO] [stdout]     |
[INFO] [stdout] 184 | async fn wait_for_transaction<T, P>(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `OrdersCancelled` is never constructed
[INFO] [stdout]    --> src/lib.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | enum SocketEvents {
[INFO] [stdout]     |      ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 221 |     OrdersCancelled,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SocketEvents` 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: struct `SuccessfulOrderList` is never constructed
[INFO] [stdout]    --> src/lib.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | struct SuccessfulOrderList(Vec<SuccessfulOrder>);
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InventoryError` is never used
[INFO] [stdout]   --> src/inventory.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 18 | enum InventoryError {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `address` is never read
[INFO] [stdout]   --> src/kuru_forwarder.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct KuruForwarder<T, P>
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |     address: Address,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/marginaccount.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct MarginAccount<T, P>
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_asset` and `quote_asset` are never read
[INFO] [stdout]    --> src/orderbook.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct Orderbook<T, P>
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 136 |     base_asset: Address,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 137 |     quote_asset: Address,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `base_and_quote_decimals` and `price_and_size_precision` are never used
[INFO] [stdout]    --> src/orderbook.rs:202:14
[INFO] [stdout]     |
[INFO] [stdout] 143 | / impl<T, P> Orderbook<T, P>
[INFO] [stdout] 144 | | where
[INFO] [stdout] 145 | |     T: Clone + Transport + Service<RequestPacket>,
[INFO] [stdout] 146 | |     P: Provider<T, Ethereum> + Clone,
[INFO] [stdout]     | |_____________________________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 202 |       async fn base_and_quote_decimals(&self) -> Result<(U256, U256), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |       async fn price_and_size_precision(&self) -> Result<(U32, U96), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/token.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Token<T, P>
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/orderbook.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 354 |         dbg!(gas_estimation);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 354 |         let _ = dbg!(gas_estimation);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:311:21
[INFO] [stdout]     |
[INFO] [stdout] 311 |                     _ => eprintln!("Unknown event type: {:?}", event_type),
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/lib.rs:311:21
[INFO] [stdout]     |
[INFO] [stdout] 308 |                     SocketEvents::OrderCreated => inventory.lock().await.handle_order_created(payload),
[INFO] [stdout]     |                     -------------------------- matches some of the same values
[INFO] [stdout] 309 |                     SocketEvents::Trade => inventory.lock().await.handle_trade(payload),
[INFO] [stdout]     |                     ------------------- matches some of the same values
[INFO] [stdout] 310 |                     SocketEvents::OrdersCancelled => inventory.lock().await.handle_orders_cancelled(payload),
[INFO] [stdout]     |                     ----------------------------- matches some of the same values
[INFO] [stdout] 311 |                     _ => eprintln!("Unknown event type: {:?}", event_type),
[INFO] [stdout]     |                     ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `rust_socketio::Payload::String::0`: Use `Payload::Text` instead. Continue existing behavior with: Payload::from(String)
[INFO] [stdout]   --> src/inventory.rs:83:29
[INFO] [stdout]    |
[INFO] [stdout] 83 |             Payload::String(_) => unimplemented!(),
[INFO] [stdout]    |                             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `rust_socketio::Payload::String::0`: Use `Payload::Text` instead. Continue existing behavior with: Payload::from(String)
[INFO] [stdout]    --> src/inventory.rs:115:29
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Payload::String(_) => unimplemented!(),
[INFO] [stdout]     |                             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `rust_socketio::Payload::String::0`: Use `Payload::Text` instead. Continue existing behavior with: Payload::from(String)
[INFO] [stdout]    --> src/inventory.rs:129:29
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Payload::String(payload_string) => unimplemented!(),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MarketOrder`
[INFO] [stdout]  --> examples/create_limit_orders.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 |     orderbook::{LimitOrder, MarketOrder},
[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 imports: `Future`, `error::Error`, and `pending`
[INFO] [stdout]   --> examples/create_limit_orders.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     error::Error,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 10 |     future::{pending, Future},
[INFO] [stdout]    |              ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Address`, `BoxFuture`, `FixedBytes`, `NetworkWallet`, `PendingTransactionBuilder`, `PendingTransaction`, `Provider`, `TransactionReceipt`, `TransactionRequest`, `Transport`, `U24`, `U8`, `U96`, and `sol`
[INFO] [stdout]   --> examples/create_limit_orders.rs:15:41
[INFO] [stdout]    |
[INFO] [stdout] 15 |     network::{Ethereum, EthereumWallet, NetworkWallet},
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 16 |     primitives::{
[INFO] [stdout] 17 |         aliases::{U24, U96},
[INFO] [stdout]    |                   ^^^  ^^^
[INFO] [stdout] 18 |         Address, FixedBytes, U256, U8,
[INFO] [stdout]    |         ^^^^^^^  ^^^^^^^^^^        ^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |         Identity, PendingTransaction, PendingTransactionBuilder, Provider, ProviderBuilder,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     rpc::types::{TransactionReceipt, TransactionRequest},
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     signers::local::PrivateKeySigner,
[INFO] [stdout] 30 |     sol,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 31 |     transports::{http::Http, BoxFuture, Transport},
[INFO] [stdout]    |                              ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Function` and `JsonAbi`
[INFO] [stdout]   --> examples/create_limit_orders.rs:33:22
[INFO] [stdout]    |
[INFO] [stdout] 33 | use alloy_json_abi::{Function, JsonAbi};
[INFO] [stdout]    |                      ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloy_json_rpc::RequestPacket`
[INFO] [stdout]   --> examples/create_limit_orders.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use alloy_json_rpc::RequestPacket;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random`
[INFO] [stdout]   --> examples/create_limit_orders.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | use rand::{random, Rng};
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `Mutex`, `mpsc`, `runtime::Runtime`, `sleep`, `task`, and `watch`
[INFO] [stdout]   --> examples/create_limit_orders.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     runtime::Runtime,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     sync::{mpsc, watch, Mutex},
[INFO] [stdout]    |            ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 48 |     task,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 49 |     time::{sleep, Duration},
[INFO] [stdout]    |            ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tower_service::Service`
[INFO] [stdout]   --> examples/create_limit_orders.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | use tower_service::Service;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fetch_kuru_order_id` and `tx_hash_to_id`
[INFO] [stdout]   --> examples/create_limit_orders.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 | use utils::{fetch_kuru_order_id, tx_hash_to_id};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min_amount_out`
[INFO] [stdout]    --> examples/create_limit_orders.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let min_amount_out = "0".to_string();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_amount_out`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_margin`
[INFO] [stdout]    --> examples/create_limit_orders.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let is_margin = rng.gen_bool(0.5);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_margin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `forwarder`
[INFO] [stdout]    --> examples/create_limit_orders.rs:146:37
[INFO] [stdout]     |
[INFO] [stdout] 146 |     let (margin_account, orderbook, forwarder, wbtc, usdc) = match run_type {
[INFO] [stdout]     |                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forwarder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Future`, `error::Error`, and `pending`
[INFO] [stdout]   --> examples/process_order.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     error::Error,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 10 |     future::{pending, Future},
[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 imports: `Address`, `BoxFuture`, `FixedBytes`, `NetworkWallet`, `PendingTransactionBuilder`, `PendingTransaction`, `Provider`, `TransactionReceipt`, `TransactionRequest`, `Transport`, `U24`, `U8`, `U96`, and `sol`
[INFO] [stdout]   --> examples/process_order.rs:15:41
[INFO] [stdout]    |
[INFO] [stdout] 15 |     network::{Ethereum, EthereumWallet, NetworkWallet},
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 16 |     primitives::{
[INFO] [stdout] 17 |         aliases::{U24, U96},
[INFO] [stdout]    |                   ^^^  ^^^
[INFO] [stdout] 18 |         Address, FixedBytes, U256, U8,
[INFO] [stdout]    |         ^^^^^^^  ^^^^^^^^^^        ^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |         Identity, PendingTransaction, PendingTransactionBuilder, Provider, ProviderBuilder,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     rpc::types::{TransactionReceipt, TransactionRequest},
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     signers::local::PrivateKeySigner,
[INFO] [stdout] 30 |     sol,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 31 |     transports::{http::Http, BoxFuture, Transport},
[INFO] [stdout]    |                              ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Function` and `JsonAbi`
[INFO] [stdout]   --> examples/process_order.rs:33:22
[INFO] [stdout]    |
[INFO] [stdout] 33 | use alloy_json_abi::{Function, JsonAbi};
[INFO] [stdout]    |                      ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloy_json_rpc::RequestPacket`
[INFO] [stdout]   --> examples/process_order.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use alloy_json_rpc::RequestPacket;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random`
[INFO] [stdout]   --> examples/process_order.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | use rand::{random, Rng};
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `Mutex`, `mpsc`, `runtime::Runtime`, `sleep`, `task`, and `watch`
[INFO] [stdout]   --> examples/process_order.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     runtime::Runtime,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     sync::{mpsc, watch, Mutex},
[INFO] [stdout]    |            ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 48 |     task,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 49 |     time::{sleep, Duration},
[INFO] [stdout]    |            ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tower_service::Service`
[INFO] [stdout]   --> examples/process_order.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | use tower_service::Service;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fetch_kuru_order_id` and `tx_hash_to_id`
[INFO] [stdout]   --> examples/process_order.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 | use utils::{fetch_kuru_order_id, tx_hash_to_id};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Devnet` is never constructed
[INFO] [stdout]    --> examples/create_limit_orders.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | enum RunType {
[INFO] [stdout]     |      ------- variant in this enum
[INFO] [stdout] 123 |     Local,
[INFO] [stdout] 124 |     Devnet,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LimitOrder`, `OrderSide`, `Order`, `inventory::Inventory`, and `process_orders`
[INFO] [stdout]   --> tests/order_tests.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 |         inventory::Inventory,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |         orderbook::{self, LimitOrder, Order, OrderSide},
[INFO] [stdout]    |                           ^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 10 |         process_orders, utils, MarginAccount,
[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 imports: `Provider`, `Transport`, and `U32`
[INFO] [stdout]   --> tests/order_tests.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 |         primitives::{U256, U32},
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |             Identity, Provider, ProviderBuilder, RootProvider,
[INFO] [stdout]    |                       ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |         transports::{http::Http, Transport},
[INFO] [stdout]    |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloy_json_rpc::RequestPacket`
[INFO] [stdout]   --> tests/order_tests.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     use alloy_json_rpc::RequestPacket;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> tests/order_tests.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     use rand::Rng;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tower_service::Service`
[INFO] [stdout]   --> tests/order_tests.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     use tower_service::Service;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils::fetch_kuru_order_id`
[INFO] [stdout]   --> tests/order_tests.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     use utils::fetch_kuru_order_id;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> tests/order_tests.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kuru_sdk_rs::inventory::Inventory`
[INFO] [stdout]  --> examples/inventory_test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use kuru_sdk_rs::inventory::Inventory;
[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 imports: `Future`, `error::Error`, and `pending`
[INFO] [stdout]   --> examples/forwarder_test.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     error::Error,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 10 |     future::{pending, Future},
[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 imports: `Address`, `BoxFuture`, `FixedBytes`, `PendingTransactionBuilder`, `PendingTransaction`, `Provider`, `TransactionReceipt`, `TransactionRequest`, `Transport`, `U24`, `U8`, `U96`, and `sol`
[INFO] [stdout]   --> examples/forwarder_test.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 |         aliases::{U24, U96},
[INFO] [stdout]    |                   ^^^  ^^^
[INFO] [stdout] 18 |         Address, Bytes, FixedBytes, U256, U8,
[INFO] [stdout]    |         ^^^^^^^         ^^^^^^^^^^        ^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |         Identity, PendingTransaction, PendingTransactionBuilder, Provider, ProviderBuilder,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     rpc::types::{TransactionReceipt, TransactionRequest},
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     signers::local::PrivateKeySigner,
[INFO] [stdout] 30 |     sol,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 31 |     transports::{http::Http, BoxFuture, Transport},
[INFO] [stdout]    |                              ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Function` and `JsonAbi`
[INFO] [stdout]   --> examples/forwarder_test.rs:33:22
[INFO] [stdout]    |
[INFO] [stdout] 33 | use alloy_json_abi::{Function, JsonAbi};
[INFO] [stdout]    |                      ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloy_json_rpc::RequestPacket`
[INFO] [stdout]   --> examples/forwarder_test.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use alloy_json_rpc::RequestPacket;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `process_orders`
[INFO] [stdout]   --> examples/forwarder_test.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     process_orders, utils, MarginAccount,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random`
[INFO] [stdout]   --> examples/forwarder_test.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | use rand::{random, Rng};
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `Mutex`, `mpsc`, `runtime::Runtime`, `sleep`, `task`, and `watch`
[INFO] [stdout]   --> examples/forwarder_test.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     runtime::Runtime,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     sync::{mpsc, watch, Mutex},
[INFO] [stdout]    |            ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 48 |     task,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 49 |     time::{sleep, Duration},
[INFO] [stdout]    |            ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tower_service::Service`
[INFO] [stdout]   --> examples/forwarder_test.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | use tower_service::Service;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fetch_kuru_order_id` and `tx_hash_to_id`
[INFO] [stdout]   --> examples/forwarder_test.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 | use utils::{fetch_kuru_order_id, tx_hash_to_id};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx_hash`
[INFO] [stdout]    --> src/inventory.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 let tx_hash = payload_data[0]
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_hash`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload_bin`
[INFO] [stdout]    --> src/inventory.rs:128:29
[INFO] [stdout]     |
[INFO] [stdout] 128 |             Payload::Binary(payload_bin) => unimplemented!(),
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload_bin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload_string`
[INFO] [stdout]    --> src/inventory.rs:129:29
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Payload::String(payload_string) => unimplemented!(),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `forwarder`
[INFO] [stdout]    --> examples/process_order.rs:157:37
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let (margin_account, orderbook, forwarder, wbtc, usdc) = match run_type {
[INFO] [stdout]     |                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forwarder`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Devnet` is never constructed
[INFO] [stdout]    --> examples/process_order.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | enum RunType {
[INFO] [stdout]     |      ------- variant in this enum
[INFO] [stdout] 134 |     Local,
[INFO] [stdout] 135 |     Devnet,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ContractAddress` is more private than the item `TESTING_ADDRESSES`
[INFO] [stdout]   --> tests/order_tests.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub static TESTING_ADDRESSES: ContractAddress = ContractAddress {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ static `TESTING_ADDRESSES` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ContractAddress` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> tests/order_tests.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     struct ContractAddress {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `forwarder_address` is never read
[INFO] [stdout]   --> tests/order_tests.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     struct ContractAddress {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 82 |         forwarder_address: &'static str,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signer`
[INFO] [stdout]    --> src/lib_test.rs:133:24
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let (provider, signer) = setup();
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wbtc`
[INFO] [stdout]    --> src/lib_test.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |         let wbtc = Token::new(
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_wbtc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx_hash`
[INFO] [stdout]    --> src/lib_test.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let tx_hash = margin_account.deposit(&user, &usdc, &amount).await;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `usdc_deposit_tx_hash`
[INFO] [stdout]    --> src/lib_test.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let usdc_deposit_tx_hash = margin_account.deposit(&user, &usdc, &amount).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usdc_deposit_tx_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wbtc_deposit_tx_hash`
[INFO] [stdout]    --> src/lib_test.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let wbtc_deposit_tx_hash = margin_account.deposit(&user, &wbtc, &amount).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wbtc_deposit_tx_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `orderbook`
[INFO] [stdout]    --> examples/forwarder_test.rs:156:26
[INFO] [stdout]     |
[INFO] [stdout] 156 |     let (margin_account, orderbook, forwarder, wbtc, usdc) = match run_type {
[INFO] [stdout]     |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_orderbook`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `margin_account`
[INFO] [stdout]    --> src/lib_test.rs:332:13
[INFO] [stdout]     |
[INFO] [stdout] 332 |         let margin_account = MarginAccount::new(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_margin_account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wbtc`
[INFO] [stdout]    --> src/lib_test.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let wbtc = Token::new(
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_wbtc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `usdc`
[INFO] [stdout]    --> src/lib_test.rs:344:13
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let usdc = Token::new(
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_usdc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `price_u256`
[INFO] [stdout]    --> src/orderbook.rs:891:13
[INFO] [stdout]     |
[INFO] [stdout] 891 |         let price_u256 = order_data[4].as_uint().unwrap().0;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_price_u256`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_orders` is never used
[INFO] [stdout]   --> examples/forwarder_test.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn generate_random_orders(num_orders: usize) -> Vec<Order> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Devnet` is never constructed
[INFO] [stdout]    --> examples/forwarder_test.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum RunType {
[INFO] [stdout]     |      ------- variant in this enum
[INFO] [stdout] 133 |     Local,
[INFO] [stdout] 134 |     Devnet,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]    --> src/lib_test.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |         let user = signer.address();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]    --> src/lib_test.rs:419:13
[INFO] [stdout]     |
[INFO] [stdout] 419 |         let user = signer.address();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `margin_account`
[INFO] [stdout]    --> src/lib_test.rs:420:13
[INFO] [stdout]     |
[INFO] [stdout] 420 |         let margin_account = MarginAccount::new(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_margin_account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wbtc`
[INFO] [stdout]    --> src/lib_test.rs:426:13
[INFO] [stdout]     |
[INFO] [stdout] 426 |         let wbtc = Token::new(
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_wbtc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `usdc`
[INFO] [stdout]    --> src/lib_test.rs:432:13
[INFO] [stdout]     |
[INFO] [stdout] 432 |         let usdc = Token::new(
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_usdc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/orderbook.rs:827:9
[INFO] [stdout]     |
[INFO] [stdout] 827 |         size: &str,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `gas_price` is never read
[INFO] [stdout]   --> src/lib.rs:82:30
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 Ok(price) => gas_price = Some(price),
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: did you mean to capture by reference instead?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `gas_price` is never read
[INFO] [stdout]   --> src/lib.rs:82:30
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 Ok(price) => gas_price = Some(price),
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |             Err(e) => match order {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |             Err(e) => match order {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `websocket`
[INFO] [stdout]    --> src/lib.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let websocket = ClientBuilder::new(websocket_address)
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_websocket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `orderbook`
[INFO] [stdout]    --> src/lib.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     orderbook: Arc<Orderbook<T, P>>,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_orderbook`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]    --> src/lib.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 |     provider: Arc<P>,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `websocket_task`
[INFO] [stdout]    --> src/lib.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let websocket_task = tokio::spawn(async move {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_websocket_task`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `OrderPending` is more private than the item `Inventory::add_pending_order`
[INFO] [stdout]   --> src/inventory.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn add_pending_order(&mut self, pending_order: OrderPending) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Inventory::add_pending_order` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `OrderPending` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/lib.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | struct OrderPending {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SuccessfulOrder` is more private than the item `Inventory::add_successful_order`
[INFO] [stdout]    --> src/inventory.rs:46:5
[INFO] [stdout]     |
[INFO] [stdout]  46 |     pub fn add_successful_order(&mut self, successful_order: SuccessfulOrder) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Inventory::add_successful_order` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `SuccessfulOrder` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/lib.rs:211:1
[INFO] [stdout]     |
[INFO] [stdout] 211 | struct SuccessfulOrder {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ContractAddress` is more private than the item `TESTING_ADDRESSES`
[INFO] [stdout]   --> src/lib_test.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub static TESTING_ADDRESSES: ContractAddress = ContractAddress {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ static `TESTING_ADDRESSES` is reachable at visibility `pub(in crate::lib_test)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ContractAddress` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/lib_test.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     struct ContractAddress {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TransactionError` is never used
[INFO] [stdout]   --> src/lib.rs:60:6
[INFO] [stdout]    |
[INFO] [stdout] 60 | enum TransactionError {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_transaction` is never used
[INFO] [stdout]    --> src/lib.rs:184:10
[INFO] [stdout]     |
[INFO] [stdout] 184 | async fn wait_for_transaction<T, P>(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `OrdersCancelled` is never constructed
[INFO] [stdout]    --> src/lib.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | enum SocketEvents {
[INFO] [stdout]     |      ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 221 |     OrdersCancelled,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SocketEvents` 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: struct `SuccessfulOrderList` is never constructed
[INFO] [stdout]    --> src/lib.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | struct SuccessfulOrderList(Vec<SuccessfulOrder>);
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InventoryError` is never used
[INFO] [stdout]   --> src/inventory.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 18 | enum InventoryError {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `address` is never read
[INFO] [stdout]   --> src/kuru_forwarder.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct KuruForwarder<T, P>
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |     address: Address,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `forwarder_address` is never read
[INFO] [stdout]   --> src/lib_test.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     struct ContractAddress {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 82 |         forwarder_address: &'static str,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/marginaccount.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct MarginAccount<T, P>
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_asset` and `quote_asset` are never read
[INFO] [stdout]    --> src/orderbook.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct Orderbook<T, P>
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 136 |     base_asset: Address,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 137 |     quote_asset: Address,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `base_and_quote_decimals` and `price_and_size_precision` are never used
[INFO] [stdout]    --> src/orderbook.rs:202:14
[INFO] [stdout]     |
[INFO] [stdout] 143 | / impl<T, P> Orderbook<T, P>
[INFO] [stdout] 144 | | where
[INFO] [stdout] 145 | |     T: Clone + Transport + Service<RequestPacket>,
[INFO] [stdout] 146 | |     P: Provider<T, Ethereum> + Clone,
[INFO] [stdout]     | |_____________________________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 202 |       async fn base_and_quote_decimals(&self) -> Result<(U256, U256), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |       async fn price_and_size_precision(&self) -> Result<(U32, U96), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/token.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Token<T, P>
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/orderbook.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 354 |         dbg!(gas_estimation);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 354 |         let _ = dbg!(gas_estimation);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 10s
[INFO] running `Command { std: "docker" "inspect" "8f719fc0252e3791f62f3ee4d9f4f59f87cac0586698c2a3e02eeddc6c724761", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8f719fc0252e3791f62f3ee4d9f4f59f87cac0586698c2a3e02eeddc6c724761", kill_on_drop: false }`
[INFO] [stdout] 8f719fc0252e3791f62f3ee4d9f4f59f87cac0586698c2a3e02eeddc6c724761
