[INFO] cloning repository https://github.com/garder500/onchain-smart-trader
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/garder500/onchain-smart-trader" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgarder500%2Fonchain-smart-trader", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgarder500%2Fonchain-smart-trader'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8da2bddde64f3d09de533c21321d26b54de92f15
[INFO] checking garder500/onchain-smart-trader against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgarder500%2Fonchain-smart-trader" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/garder500/onchain-smart-trader
[INFO] finished tweaking git repo https://github.com/garder500/onchain-smart-trader
[INFO] tweaked toml for git repo https://github.com/garder500/onchain-smart-trader written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/garder500/onchain-smart-trader on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/garder500/onchain-smart-trader 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused workspace dependency `futures`
[INFO] [stderr]  --> Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | futures = "0.3"
[INFO] [stderr]   | ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_workspace_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the workspace dependency `futures`
[INFO] [stderr] warning: unused field `rust-version` in `workspace.package`
[INFO] [stderr]    --> Cargo.toml:102:1
[INFO] [stderr]     |
[INFO] [stderr] 102 | rust-version = "1.85"
[INFO] [stderr]     | ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.rust-version`
[INFO] [stderr] warning: workspace (manifest) generated 2 warnings
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5fea7b8f46e922c20afe44a09ec96dccb1576acf443883b49a77b8e5e6121fcc
[INFO] running `Command { std: "docker" "start" "5fea7b8f46e922c20afe44a09ec96dccb1576acf443883b49a77b8e5e6121fcc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5fea7b8f46e922c20afe44a09ec96dccb1576acf443883b49a77b8e5e6121fcc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5fea7b8f46e922c20afe44a09ec96dccb1576acf443883b49a77b8e5e6121fcc" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5fea7b8f46e922c20afe44a09ec96dccb1576acf443883b49a77b8e5e6121fcc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5fea7b8f46e922c20afe44a09ec96dccb1576acf443883b49a77b8e5e6121fcc" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: unused workspace dependency `futures`
[INFO] [stderr]  --> Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | futures = "0.3"
[INFO] [stderr]   | ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_workspace_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the workspace dependency `futures`
[INFO] [stderr] warning: unused field `rust-version` in `workspace.package`
[INFO] [stderr]    --> Cargo.toml:102:1
[INFO] [stderr]     |
[INFO] [stderr] 102 | rust-version = "1.85"
[INFO] [stderr]     | ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.rust-version`
[INFO] [stderr] warning: workspace (manifest) generated 2 warnings
[INFO] [stderr]    Compiling syn v3.0.5
[INFO] [stderr]     Checking generic-array v0.14.9
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling ruint-macro v1.2.1
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]    Compiling alloy-rlp-derive v0.3.16
[INFO] [stderr]     Checking keccak v0.2.2
[INFO] [stderr]     Checking sha3 v0.11.0
[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 const-hex v1.19.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking tinyvec v1.13.2
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling ruint v1.20.0
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]     Checking stringprep v0.1.5
[INFO] [stderr]     Checking sha2 v0.11.0
[INFO] [stderr]     Checking md-5 v0.11.0
[INFO] [stderr]     Checking fallible-iterator v0.2.0
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]    Compiling crossbeam-utils v0.8.23
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking indexmap v2.14.2
[INFO] [stderr]    Compiling syn-solidity v1.7.2
[INFO] [stderr]    Compiling macro-string v0.2.0
[INFO] [stderr]    Compiling proc-macro-error-attr3 v3.0.1
[INFO] [stderr]     Checking k256 v0.13.4
[INFO] [stderr]    Compiling rust_decimal v1.43.0
[INFO] [stderr]    Compiling proc-macro-error3 v3.0.1
[INFO] [stderr]     Checking uuid v1.26.0
[INFO] [stderr]    Compiling auto_impl v1.3.0
[INFO] [stderr]     Checking ring v0.17.14
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling darling_core v0.24.1
[INFO] [stderr]    Compiling zerocopy v0.8.56
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking rustls-webpki v0.103.15
[INFO] [stderr]    Compiling arrayvec v0.7.8
[INFO] [stderr]    Compiling crossbeam-queue v0.3.14
[INFO] [stderr]     Checking rustls v0.23.44
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]     Checking zerovec v0.11.8
[INFO] [stderr]     Checking zerotrie v0.2.5
[INFO] [stderr]     Checking thiserror v2.0.20
[INFO] [stderr]    Compiling darling_macro v0.24.1
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling darling v0.24.1
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]     Checking tinystr v0.8.4
[INFO] [stderr]     Checking potential_utf v0.1.6
[INFO] [stderr]     Checking icu_collections v2.3.0
[INFO] [stderr]     Checking icu_locale_core v2.3.0
[INFO] [stderr]    Compiling serde_with_macros v3.23.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]     Checking icu_provider v2.3.1
[INFO] [stderr]     Checking icu_properties v2.3.0
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]     Checking serde_with v3.23.0
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking bytes v1.12.1
[INFO] [stderr]     Checking smallvec v1.16.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking either v1.18.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking icu_normalizer v2.3.0
[INFO] [stderr]    Compiling alloy-sol-type-parser v1.7.2
[INFO] [stderr]     Checking alloy-rlp v0.3.16
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking http v1.5.0
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling alloy-primitives v1.7.2
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking postgres-protocol v0.6.12
[INFO] [stderr]     Checking postgres-types v0.2.14
[INFO] [stderr]     Checking http-body v1.1.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]    Compiling alloy-json-abi v1.7.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling alloy-sol-macro-input v1.7.2
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]    Compiling alloy-sol-macro-expander v1.7.2
[INFO] [stderr]     Checking alloy-eip7702 v0.6.3
[INFO] [stderr]     Checking alloy-eip2124 v0.2.0
[INFO] [stderr]     Checking alloy-serde v2.4.1
[INFO] [stderr]     Checking alloy-eip7928 v0.4.8
[INFO] [stderr]     Checking alloy-eip2930 v0.2.4
[INFO] [stderr]     Checking nybbles v0.4.8
[INFO] [stderr]     Checking alloy-eips v2.4.1
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]     Checking alloy-trie v0.9.5
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking hyper v1.11.1
[INFO] [stderr]     Checking tokio-stream v0.1.19
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling alloy-tx-macros v2.4.1
[INFO] [stderr]     Checking domain v0.1.0 (/opt/rustwide/workdir/crates/domain)
[INFO] [stderr]    Compiling rand v0.8.8
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]     Checking http-body-util v0.1.5
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking sqlx-core v0.8.6
[INFO] [stderr]     Checking alloy-consensus v2.4.1
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]    Compiling alloy-sol-macro v1.7.2
[INFO] [stderr]     Checking futures-executor v0.3.34
[INFO] [stderr]     Checking futures-utils-wasm v0.1.0
[INFO] [stderr]     Checking phf_shared v0.14.0
[INFO] [stderr]     Checking futures v0.3.34
[INFO] [stderr]    Compiling num_enum_derive v0.7.6
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]     Checking alloy-sol-types v1.7.2
[INFO] [stderr]     Checking phf v0.14.0
[INFO] [stderr]     Checking reqwest v0.13.4
[INFO] [stderr]     Checking num_enum v0.7.6
[INFO] [stderr]     Checking alloy-signer v2.4.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking dashmap v6.2.1
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]     Checking alloy-chains v0.2.37
[INFO] [stderr]     Checking lru v0.18.4
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking token-risk v0.1.0 (/opt/rustwide/workdir/crates/token-risk)
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking tokio-rustls v0.26.5
[INFO] [stderr]     Checking alloy-consensus-any v2.4.1
[INFO] [stderr]     Checking alloy-network-primitives v2.4.1
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking clap_builder v4.6.6
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking sqlx-postgres v0.8.6
[INFO] [stderr]     Checking alloy-json-rpc v2.4.1
[INFO] [stderr]     Checking alloy-rpc-types-eth v2.4.1
[INFO] [stderr]     Checking alloy-transport v2.4.1
[INFO] [stderr]     Checking alloy-transport-http v2.4.1
[INFO] [stderr]     Checking alloy-dyn-abi v1.7.2
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking alloy-rpc-client v2.4.1
[INFO] [stderr]     Checking clap v4.6.6
[INFO] [stderr]     Checking alloy-core v1.7.2
[INFO] [stderr]     Checking alloy-rpc-types-any v2.4.1
[INFO] [stderr]     Checking alloy-rpc-types v2.4.1
[INFO] [stderr]     Checking alloy-network v2.4.1
[INFO] [stderr]     Checking alloy-provider v2.4.1
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking alloy-contract v2.4.1
[INFO] [stderr]     Checking alloy v2.4.1
[INFO] [stderr]     Checking chain v0.1.0 (/opt/rustwide/workdir/crates/chain)
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking wallet-profiler v0.1.0 (/opt/rustwide/workdir/crates/wallet-profiler)
[INFO] [stderr]     Checking indexer v0.1.0 (/opt/rustwide/workdir/crates/indexer)
[INFO] [stderr]     Checking strategy v0.1.0 (/opt/rustwide/workdir/crates/strategy)
[INFO] [stderr]     Checking paper-trader v0.1.0 (/opt/rustwide/workdir/crates/paper-trader)
[INFO] [stderr]     Checking analytics v0.1.0 (/opt/rustwide/workdir/crates/analytics)
[INFO] [stderr]     Checking research v0.1.0 (/opt/rustwide/workdir/crates/research)
[INFO] [stderr]     Checking api v0.1.0 (/opt/rustwide/workdir/crates/api)
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `DatasetAudit` found for enum `Commands` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:469:19
[INFO] [stdout]     |
[INFO] [stdout] 469 |         Commands::DatasetAudit => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^ variant, associated function, or constant not found in `Commands`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/api/src/cli.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub enum Commands {
[INFO] [stdout]     | ----------------- variant, associated function, or constant `DatasetAudit` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `ResearchLatency` found for enum `Commands`
[INFO] [stdout]    --> crates/api/src/main.rs:620:19
[INFO] [stdout]     |
[INFO] [stdout] 620 |         Commands::ResearchLatency { source } => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^ variant not found in `Commands`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/api/src/cli.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub enum Commands {
[INFO] [stdout]     | ----------------- variant `ResearchLatency` not found here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `ResearchStatistics` found for enum `Commands`
[INFO] [stdout]    --> crates/api/src/main.rs:677:19
[INFO] [stdout]     |
[INFO] [stdout] 677 |         Commands::ResearchStatistics { source } => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ variant not found in `Commands`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/api/src/cli.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub enum Commands {
[INFO] [stdout]     | ----------------- variant `ResearchStatistics` not found here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `ResearchScalability` found for enum `Commands`
[INFO] [stdout]    --> crates/api/src/main.rs:723:19
[INFO] [stdout]     |
[INFO] [stdout] 723 |         Commands::ResearchScalability { source } => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ variant not found in `Commands`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/api/src/cli.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub enum Commands {
[INFO] [stdout]     | ----------------- variant `ResearchScalability` not found here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `DatasetAudit` found for enum `Commands` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:469:19
[INFO] [stdout]     |
[INFO] [stdout] 469 |         Commands::DatasetAudit => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^ variant, associated function, or constant not found in `Commands`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/api/src/cli.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub enum Commands {
[INFO] [stdout]     | ----------------- variant, associated function, or constant `DatasetAudit` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_canonical_trades` found for reference `&indexer::Database` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:291:36
[INFO] [stdout]     |
[INFO] [stdout] 291 |                 let db_trades = db.get_canonical_trades(24_500_000, 50000).await?;
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `get_all_trades` with a similar name, but with different arguments
[INFO] [stdout]    --> crates/indexer/src/db.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 493 |     pub async fn get_all_trades(&self, limit: i64) -> Result<Vec<Trade>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `ResearchLatency` found for enum `Commands`
[INFO] [stdout]    --> crates/api/src/main.rs:620:19
[INFO] [stdout]     |
[INFO] [stdout] 620 |         Commands::ResearchLatency { source } => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^ variant not found in `Commands`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/api/src/cli.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub enum Commands {
[INFO] [stdout]     | ----------------- variant `ResearchLatency` not found here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `ResearchStatistics` found for enum `Commands`
[INFO] [stdout]    --> crates/api/src/main.rs:677:19
[INFO] [stdout]     |
[INFO] [stdout] 677 |         Commands::ResearchStatistics { source } => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ variant not found in `Commands`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/api/src/cli.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub enum Commands {
[INFO] [stdout]     | ----------------- variant `ResearchStatistics` not found here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `ResearchScalability` found for enum `Commands`
[INFO] [stdout]    --> crates/api/src/main.rs:723:19
[INFO] [stdout]     |
[INFO] [stdout] 723 |         Commands::ResearchScalability { source } => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ variant not found in `Commands`
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/api/src/cli.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub enum Commands {
[INFO] [stdout]     | ----------------- variant `ResearchScalability` not found here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> crates/api/src/main.rs:292:30
[INFO] [stdout]     |
[INFO] [stdout] 292 |                 if db_trades.is_empty() {
[INFO] [stdout]     |                              ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout]     = note: `#[warn(method_call_on_diverging_infer_var)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_empty` found for type `!` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:292:30
[INFO] [stdout]     |
[INFO] [stdout] 292 |                 if db_trades.is_empty() {
[INFO] [stdout]     |                              ^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> crates/api/src/main.rs:302:33
[INFO] [stdout]     |
[INFO] [stdout] 302 |                     (db_trades, data_source)
[INFO] [stdout]     |                      ---------  ^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      any code following this expression is unreachable
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_canonical_trades` found for reference `&indexer::Database` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:291:36
[INFO] [stdout]     |
[INFO] [stdout] 291 |                 let db_trades = db.get_canonical_trades(24_500_000, 50000).await?;
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `get_all_trades` with a similar name, but with different arguments
[INFO] [stdout]    --> crates/indexer/src/db.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 493 |     pub async fn get_all_trades(&self, limit: i64) -> Result<Vec<Trade>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> crates/api/src/main.rs:292:30
[INFO] [stdout]     |
[INFO] [stdout] 292 |                 if db_trades.is_empty() {
[INFO] [stdout]     |                              ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout]     = note: `#[warn(method_call_on_diverging_infer_var)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_canonical_trades` found for struct `indexer::Database` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:472:39
[INFO] [stdout]     |
[INFO] [stdout] 472 |             let canonical_trades = db.get_canonical_trades(24_500_000, 100000).await?;
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `get_all_trades` with a similar name, but with different arguments
[INFO] [stdout]    --> crates/indexer/src/db.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 493 |     pub async fn get_all_trades(&self, limit: i64) -> Result<Vec<Trade>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> crates/api/src/main.rs:510:34
[INFO] [stdout]     |
[INFO] [stdout] 510 |                 canonical_trades.len()
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_empty` found for type `!` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:292:30
[INFO] [stdout]     |
[INFO] [stdout] 292 |                 if db_trades.is_empty() {
[INFO] [stdout]     |                              ^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> crates/api/src/main.rs:302:33
[INFO] [stdout]     |
[INFO] [stdout] 302 |                     (db_trades, data_source)
[INFO] [stdout]     |                      ---------  ^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      any code following this expression is unreachable
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_canonical_trades` found for struct `indexer::Database` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:472:39
[INFO] [stdout]     |
[INFO] [stdout] 472 |             let canonical_trades = db.get_canonical_trades(24_500_000, 100000).await?;
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `get_all_trades` with a similar name, but with different arguments
[INFO] [stdout]    --> crates/indexer/src/db.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 493 |     pub async fn get_all_trades(&self, limit: i64) -> Result<Vec<Trade>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:510:34
[INFO] [stdout]     |
[INFO] [stdout] 510 |                 canonical_trades.len()
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `&!` is not an iterator
[INFO] [stdout]    --> crates/api/src/main.rs:492:22
[INFO] [stdout]     |
[INFO] [stdout] 492 |             for t in &canonical_trades {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^ `&!` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Iterator` is not implemented for `&!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> crates/api/src/main.rs:510:34
[INFO] [stdout]     |
[INFO] [stdout] 510 |                 canonical_trades.len()
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `first` found for type `!` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:519:66
[INFO] [stdout]     |
[INFO] [stdout] 519 |             if let (Some(first), Some(last)) = (canonical_trades.first(), canonical_trades.last()) {
[INFO] [stdout]     |                                                                  ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> crates/api/src/main.rs:519:66
[INFO] [stdout]     |
[INFO] [stdout] 519 |             if let (Some(first), Some(last)) = (canonical_trades.first(), canonical_trades.last()) {
[INFO] [stdout]     |                                                 ---------------- ^^^^^ unreachable call
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `!` is not an iterator
[INFO] [stdout]    --> crates/api/src/main.rs:519:92
[INFO] [stdout]     |
[INFO] [stdout] 519 |             if let (Some(first), Some(last)) = (canonical_trades.first(), canonical_trades.last()) {
[INFO] [stdout]     |                                                                                            ^^^^ `!` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `!: Iterator`
[INFO] [stdout]             which is required by `&mut !: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> crates/api/src/main.rs:519:92
[INFO] [stdout]     |
[INFO] [stdout] 519 |             if let (Some(first), Some(last)) = (canonical_trades.first(), canonical_trades.last()) {
[INFO] [stdout]     |                                                                           ---------------- ^^^^ unreachable call
[INFO] [stdout]     |                                                                           |
[INFO] [stdout]     |                                                                           any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:510:34
[INFO] [stdout]     |
[INFO] [stdout] 510 |                 canonical_trades.len()
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `&!` is not an iterator
[INFO] [stdout]    --> crates/api/src/main.rs:492:22
[INFO] [stdout]     |
[INFO] [stdout] 492 |             for t in &canonical_trades {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^ `&!` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Iterator` is not implemented for `&!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `&!` is not an iterator
[INFO] [stdout]    --> crates/api/src/main.rs:533:22
[INFO] [stdout]     |
[INFO] [stdout] 533 |             for t in &canonical_trades {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^ `&!` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Iterator` is not implemented for `&!`
[INFO] [stdout]     = note: required for `&!` to implement `IntoIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `first` found for type `!` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:519:66
[INFO] [stdout]     |
[INFO] [stdout] 519 |             if let (Some(first), Some(last)) = (canonical_trades.first(), canonical_trades.last()) {
[INFO] [stdout]     |                                                                  ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> crates/api/src/main.rs:519:66
[INFO] [stdout]     |
[INFO] [stdout] 519 |             if let (Some(first), Some(last)) = (canonical_trades.first(), canonical_trades.last()) {
[INFO] [stdout]     |                                                 ---------------- ^^^^^ unreachable call
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `first` found for type `!` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:548:18
[INFO] [stdout]     |
[INFO] [stdout] 547 |             let start_ts = canonical_trades
[INFO] [stdout] 548 |                 .first()
[INFO] [stdout]     |                  ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> crates/api/src/main.rs:548:18
[INFO] [stdout]     |
[INFO] [stdout] 547 |             let start_ts = canonical_trades
[INFO] [stdout]     |                            ---------------- any code following this expression is unreachable
[INFO] [stdout] 548 |                 .first()
[INFO] [stdout]     |                  ^^^^^ unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `!` is not an iterator
[INFO] [stdout]    --> crates/api/src/main.rs:519:92
[INFO] [stdout]     |
[INFO] [stdout] 519 |             if let (Some(first), Some(last)) = (canonical_trades.first(), canonical_trades.last()) {
[INFO] [stdout]     |                                                                                            ^^^^ `!` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `!: Iterator`
[INFO] [stdout]             which is required by `&mut !: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> crates/api/src/main.rs:519:92
[INFO] [stdout]     |
[INFO] [stdout] 519 |             if let (Some(first), Some(last)) = (canonical_trades.first(), canonical_trades.last()) {
[INFO] [stdout]     |                                                                           ---------------- ^^^^ unreachable call
[INFO] [stdout]     |                                                                           |
[INFO] [stdout]     |                                                                           any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `!` is not an iterator
[INFO] [stdout]    --> crates/api/src/main.rs:552:18
[INFO] [stdout]     |
[INFO] [stdout] 551 |             let end_ts = canonical_trades
[INFO] [stdout] 552 |                 .last()
[INFO] [stdout]     |                  ^^^^ `!` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `!: Iterator`
[INFO] [stdout]             which is required by `&mut !: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> crates/api/src/main.rs:552:18
[INFO] [stdout]     |
[INFO] [stdout] 551 |             let end_ts = canonical_trades
[INFO] [stdout]     |                          ---------------- any code following this expression is unreachable
[INFO] [stdout] 552 |                 .last()
[INFO] [stdout]     |                  ^^^^ unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `&!` is not an iterator
[INFO] [stdout]    --> crates/api/src/main.rs:533:22
[INFO] [stdout]     |
[INFO] [stdout] 533 |             for t in &canonical_trades {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^ `&!` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Iterator` is not implemented for `&!`
[INFO] [stdout]     = note: required for `&!` to implement `IntoIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `first` found for type `!` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:557:18
[INFO] [stdout]     |
[INFO] [stdout] 556 |             let start_block = canonical_trades
[INFO] [stdout] 557 |                 .first()
[INFO] [stdout]     |                  ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> crates/api/src/main.rs:557:18
[INFO] [stdout]     |
[INFO] [stdout] 556 |             let start_block = canonical_trades
[INFO] [stdout]     |                               ---------------- any code following this expression is unreachable
[INFO] [stdout] 557 |                 .first()
[INFO] [stdout]     |                  ^^^^^ unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `first` found for type `!` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:548:18
[INFO] [stdout]     |
[INFO] [stdout] 547 |             let start_ts = canonical_trades
[INFO] [stdout] 548 |                 .first()
[INFO] [stdout]     |                  ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> crates/api/src/main.rs:548:18
[INFO] [stdout]     |
[INFO] [stdout] 547 |             let start_ts = canonical_trades
[INFO] [stdout]     |                            ---------------- any code following this expression is unreachable
[INFO] [stdout] 548 |                 .first()
[INFO] [stdout]     |                  ^^^^^ unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `!` is not an iterator
[INFO] [stdout]    --> crates/api/src/main.rs:561:18
[INFO] [stdout]     |
[INFO] [stdout] 560 |             let end_block = canonical_trades
[INFO] [stdout] 561 |                 .last()
[INFO] [stdout]     |                  ^^^^ `!` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `!: Iterator`
[INFO] [stdout]             which is required by `&mut !: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> crates/api/src/main.rs:561:18
[INFO] [stdout]     |
[INFO] [stdout] 560 |             let end_block = canonical_trades
[INFO] [stdout]     |                             ---------------- any code following this expression is unreachable
[INFO] [stdout] 561 |                 .last()
[INFO] [stdout]     |                  ^^^^ unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `!` is not an iterator
[INFO] [stdout]    --> crates/api/src/main.rs:552:18
[INFO] [stdout]     |
[INFO] [stdout] 551 |             let end_ts = canonical_trades
[INFO] [stdout] 552 |                 .last()
[INFO] [stdout]     |                  ^^^^ `!` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `!: Iterator`
[INFO] [stdout]             which is required by `&mut !: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> crates/api/src/main.rs:552:18
[INFO] [stdout]     |
[INFO] [stdout] 551 |             let end_ts = canonical_trades
[INFO] [stdout]     |                          ---------------- any code following this expression is unreachable
[INFO] [stdout] 552 |                 .last()
[INFO] [stdout]     |                  ^^^^ unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `first` found for type `!` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:557:18
[INFO] [stdout]     |
[INFO] [stdout] 556 |             let start_block = canonical_trades
[INFO] [stdout] 557 |                 .first()
[INFO] [stdout]     |                  ^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> crates/api/src/main.rs:557:18
[INFO] [stdout]     |
[INFO] [stdout] 556 |             let start_block = canonical_trades
[INFO] [stdout]     |                               ---------------- any code following this expression is unreachable
[INFO] [stdout] 557 |                 .first()
[INFO] [stdout]     |                  ^^^^^ unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:576:48
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 total_trades: canonical_trades.len(),
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `!` is not an iterator
[INFO] [stdout]    --> crates/api/src/main.rs:561:18
[INFO] [stdout]     |
[INFO] [stdout] 560 |             let end_block = canonical_trades
[INFO] [stdout] 561 |                 .last()
[INFO] [stdout]     |                  ^^^^ `!` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `!: Iterator`
[INFO] [stdout]             which is required by `&mut !: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> crates/api/src/main.rs:576:48
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 total_trades: canonical_trades.len(),
[INFO] [stdout]     |                               ---------------- ^^^ unreachable call
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> crates/api/src/main.rs:561:18
[INFO] [stdout]     |
[INFO] [stdout] 560 |             let end_block = canonical_trades
[INFO] [stdout]     |                             ---------------- any code following this expression is unreachable
[INFO] [stdout] 561 |                 .last()
[INFO] [stdout]     |                  ^^^^ unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_canonical_trades` found for struct `indexer::Database` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:623:20
[INFO] [stdout]     |
[INFO] [stdout] 623 |                 db.get_canonical_trades(24_500_000, 100000).await?
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `get_all_trades` with a similar name, but with different arguments
[INFO] [stdout]    --> crates/indexer/src/db.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 493 |     pub async fn get_all_trades(&self, limit: i64) -> Result<Vec<Trade>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:576:48
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 total_trades: canonical_trades.len(),
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:1520:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> crates/api/src/main.rs:576:48
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 total_trades: canonical_trades.len(),
[INFO] [stdout]     |                               ---------------- ^^^ unreachable call
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_canonical_trades` found for struct `indexer::Database` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:680:20
[INFO] [stdout]     |
[INFO] [stdout] 680 |                 db.get_canonical_trades(24_500_000, 100000).await?
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `get_all_trades` with a similar name, but with different arguments
[INFO] [stdout]    --> crates/indexer/src/db.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 493 |     pub async fn get_all_trades(&self, limit: i64) -> Result<Vec<Trade>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_canonical_trades` found for struct `indexer::Database` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:623:20
[INFO] [stdout]     |
[INFO] [stdout] 623 |                 db.get_canonical_trades(24_500_000, 100000).await?
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `get_all_trades` with a similar name, but with different arguments
[INFO] [stdout]    --> crates/indexer/src/db.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 493 |     pub async fn get_all_trades(&self, limit: i64) -> Result<Vec<Trade>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_canonical_trades` found for struct `indexer::Database` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:726:20
[INFO] [stdout]     |
[INFO] [stdout] 726 |                 db.get_canonical_trades(24_500_000, 100000).await?
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `get_all_trades` with a similar name, but with different arguments
[INFO] [stdout]    --> crates/indexer/src/db.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 493 |     pub async fn get_all_trades(&self, limit: i64) -> Result<Vec<Trade>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_canonical_trades` found for struct `indexer::Database` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:680:20
[INFO] [stdout]     |
[INFO] [stdout] 680 |                 db.get_canonical_trades(24_500_000, 100000).await?
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `get_all_trades` with a similar name, but with different arguments
[INFO] [stdout]    --> crates/indexer/src/db.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 493 |     pub async fn get_all_trades(&self, limit: i64) -> Result<Vec<Trade>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_canonical_trades` found for struct `indexer::Database` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:786:29
[INFO] [stdout]     |
[INFO] [stdout] 786 |             let trades = db.get_canonical_trades(24_500_000, 100000).await?;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `get_all_trades` with a similar name, but with different arguments
[INFO] [stdout]    --> crates/indexer/src/db.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 493 |     pub async fn get_all_trades(&self, limit: i64) -> Result<Vec<Trade>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> crates/api/src/main.rs:787:23
[INFO] [stdout]     |
[INFO] [stdout] 787 |             if trades.is_empty() {
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_canonical_trades` found for struct `indexer::Database` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:726:20
[INFO] [stdout]     |
[INFO] [stdout] 726 |                 db.get_canonical_trades(24_500_000, 100000).await?
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `get_all_trades` with a similar name, but with different arguments
[INFO] [stdout]    --> crates/indexer/src/db.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 493 |     pub async fn get_all_trades(&self, limit: i64) -> Result<Vec<Trade>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_empty` found for type `!` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:787:23
[INFO] [stdout]     |
[INFO] [stdout] 787 |             if trades.is_empty() {
[INFO] [stdout]     |                       ^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_canonical_trades` found for struct `indexer::Database` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:786:29
[INFO] [stdout]     |
[INFO] [stdout] 786 |             let trades = db.get_canonical_trades(24_500_000, 100000).await?;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `get_all_trades` with a similar name, but with different arguments
[INFO] [stdout]    --> crates/indexer/src/db.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 493 |     pub async fn get_all_trades(&self, limit: i64) -> Result<Vec<Trade>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> crates/api/src/main.rs:787:23
[INFO] [stdout]     |
[INFO] [stdout] 787 |             if trades.is_empty() {
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> crates/api/src/main.rs:798:67
[INFO] [stdout]     |
[INFO] [stdout] 798 |             let report = research::ResearchRunner::run_experiment(&trades, &exp_config, git_commit);
[INFO] [stdout]     |                          ---------------------------------------- ^^^^^^^ expected `&[Trade]`, found `&!`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&[Trade]`
[INFO] [stdout]                found reference `&!`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> crates/research/src/runner.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  25 |     pub fn run_experiment(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_empty` found for type `!` in the current scope
[INFO] [stdout]    --> crates/api/src/main.rs:787:23
[INFO] [stdout]     |
[INFO] [stdout] 787 |             if trades.is_empty() {
[INFO] [stdout]     |                       ^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> crates/api/src/main.rs:798:67
[INFO] [stdout]     |
[INFO] [stdout] 798 |             let report = research::ResearchRunner::run_experiment(&trades, &exp_config, git_commit);
[INFO] [stdout]     |                          ---------------------------------------- ^^^^^^^ expected `&[Trade]`, found `&!`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&[Trade]`
[INFO] [stdout]                found reference `&!`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> crates/research/src/runner.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  25 |     pub fn run_experiment(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `api` (bin "smart-trader") due to 23 previous errors; 14 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `api` (bin "smart-trader" test) due to 23 previous errors; 14 warnings emitted
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]   --> crates/domain/Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | serde_json = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] warning: unused dependency `toml`
[INFO] [stderr]   --> crates/domain/Cargo.toml:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | toml = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `toml`
[INFO] [stderr] warning: unused dependency `tracing`
[INFO] [stderr]   --> crates/domain/Cargo.toml:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | tracing = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tracing`
[INFO] [stderr] warning: `domain` (manifest) generated 3 warnings
[INFO] [stderr] warning: unused dependency `strategy`
[INFO] [stderr]   --> crates/paper-trader/Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | strategy = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `strategy`
[INFO] [stderr] warning: `paper-trader` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `analytics`
[INFO] [stderr]   --> crates/research/Cargo.toml:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | analytics = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `analytics`
[INFO] [stderr] warning: unused dependency `chain`
[INFO] [stderr]   --> crates/research/Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | chain = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `chain`
[INFO] [stderr] warning: `research` (manifest) generated 2 warnings
[INFO] [stderr] warning: unused dependency `async-trait`
[INFO] [stderr]   --> crates/strategy/Cargo.toml:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | async-trait = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `async-trait`
[INFO] [stderr] warning: `strategy` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `anyhow`
[INFO] [stderr]   --> crates/token-risk/Cargo.toml:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | anyhow = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `anyhow`
[INFO] [stderr] warning: `token-risk` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `anyhow`
[INFO] [stderr]   --> crates/wallet-profiler/Cargo.toml:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | anyhow = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `anyhow`
[INFO] [stderr] warning: unused dependency `sqlx`
[INFO] [stderr]   --> crates/wallet-profiler/Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | sqlx = { workspace = true }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `sqlx`
[INFO] [stderr] warning: `wallet-profiler` (manifest) generated 2 warnings
[INFO] running `Command { std: "docker" "inspect" "5fea7b8f46e922c20afe44a09ec96dccb1576acf443883b49a77b8e5e6121fcc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5fea7b8f46e922c20afe44a09ec96dccb1576acf443883b49a77b8e5e6121fcc", kill_on_drop: false }`
[INFO] [stdout] 5fea7b8f46e922c20afe44a09ec96dccb1576acf443883b49a77b8e5e6121fcc
