| |_________^ expected `CompiledInstruction`, found `Instruction`
     |
note: method defined here
    --> C:\Users\Orsen\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\vec\mod.rs:2003:12
     |
2003 |     pub fn push(&mut self, value: T) {
     |            ^^^^

error[E0609]: no field `rpc_url` on type `RpcConfig`
   --> src/main.rs:291:29
    |
291 |             self.config.rpc.rpc_url, self.config.api_keys.helius_api_key
    |                             ^^^^^^^ unknown field
    |
    = note: available fields are: `solana_rpc_url`, `fallback_url`

error[E0609]: no field `rpc_url` on type `RpcConfig`
   --> src/main.rs:320:29
    |
320 |             self.config.rpc.rpc_url, self.config.api_keys.helius_api_key
    |                             ^^^^^^^ unknown field
    |
    = note: available fields are: `solana_rpc_url`, `fallback_url`

error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied
   --> src\gpu_bridge.rs:49:69
    |
49  |     async fn validate_token(&self, metadata: &serde_json::Value) -> Result<bool> {
    |                                                                     ^^^^^^ ---- supplied 1 generic argument
    |                                                                     |
    |                                                                     expected 2 generic arguments
    |
note: enum defined here, with 2 generic parameters: `T`, `E`
   --> C:\Users\Orsen\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\result.rs:527:10
    |
527 | pub enum Result<T, E> {
    |          ^^^^^^ -  -
help: add missing generic argument
    |
49  |     async fn validate_token(&self, metadata: &serde_json::Value) -> Result<bool, E> {
    |                                                                                +++

error[E0053]: method `update` has an incompatible type for trait
   --> src\gui.rs:236:55
    |
236 |     fn update(&mut self, ctx: &egui::Context, _frame: &eframe::epi::Frame) {
    |                                                       ^^^^^^^^^^^^^^^^^^^ types differ in mutability
    |
    = note: expected signature `fn(&mut BotGui, &eframe::egui::Context, &mut eframe::Frame)`
               found signature `fn(&mut BotGui, &eframe::egui::Context, &eframe::Frame)`
help: change the parameter type to match the trait
    |
236 |     fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
    |                                                       ~~~~~~~~~~~~~~~~~~

error[E0502]: cannot borrow `logs` as immutable because it is also borrowed as mutable
   --> src\gui.rs:230:27
    |
230 |             logs.drain(0..logs.len() - 1000);
    |             ---- -----    ^^^^ immutable borrow occurs here
    |             |    |
    |             |    mutable borrow later used by call
    |             mutable borrow occurs here

Some errors have detailed explanations: E0053, E0107, E0277, E0308, E0407, E0412, E0502, E0599, E0603...
For more information about an error, try `rustc --explain E0053`.
warning: `solana_rust_bot` (bin "solana_rust_bot") generated 2 warnings
error: could not compile `solana_rust_bot` (bin "solana_rust_bot") due to 24 previous errors; 2 warnings emitted
(pytorch_cuda) PS C:\solana_rust_bot> conda activate pytorch_cuda
(pytorch_cuda) PS C:\solana_rust_bot> $rust_MIN_STACK = "16777216"  
(pytorch_cuda) PS C:\solana_rust_bot> cargo build --release --jobs 15                                                             
warning: unused manifest key: build
warning: output filename collision.
The bin target `solana_rust_bot` in package `solana_rust_bot v0.1.0 (C:\solana_rust_bot)` has the same output filename as the lib target `solana_rust_bot` in package `solana_rust_bot v0.1.0 (C:\solana_rust_bot)`.
Colliding filename is: C:\solana_rust_bot\target\release\deps\solana_rust_bot.pdb
The targets should have unique names.
Consider changing their names to be unique or compiling them separately.
This may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>.
warning: output filename collision.
The bin target `solana_rust_bot` in package `solana_rust_bot v0.1.0 (C:\solana_rust_bot)` has the same output filename as the lib target `solana_rust_bot` in package `solana_rust_bot v0.1.0 (C:\solana_rust_bot)`.
Colliding filename is: C:\solana_rust_bot\target\release\solana_rust_bot.pdb
The targets should have unique names.
Consider changing their names to be unique or compiling them separately.
This may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>.
   Compiling solana_rust_bot v0.1.0 (C:\solana_rust_bot)
error: cannot find macro `info` in this scope
  --> src\gpu_bridge.rs:59:17
   |
59 |                 info!("✅ Token validation passed (GPU Score: {:.2})", score);
   |                 ^^^^
   |
help: consider importing one of these macros
   |
1  + use crate::info;
   |
1  + use log::info;
   |
1  + use solana_program::info;
   |

error: cannot find macro `info` in this scope
  --> src\gpu_bridge.rs:60:17
   |
60 |                 info!(
   |                 ^^^^
   |
help: consider importing one of these macros
   |
1  + use crate::info;
   |
1  + use log::info;
   |
1  + use solana_program::info;
   |

error: cannot find macro `info` in this scope
  --> src\gpu_bridge.rs:64:17
   |
64 |                 info!(
   |                 ^^^^
   |
help: consider importing one of these macros
   |
1  + use crate::info;
   |
1  + use log::info;
   |
1  + use solana_program::info;
   |

error: cannot find macro `info` in this scope
  --> src\gpu_bridge.rs:68:17
   |
68 |                 info!("   Burnt: {}", metadata["burnt"].as_bool().unwrap_or(false));
   |                 ^^^^
   |
help: consider importing one of these macros
   |
1  + use crate::info;
   |
1  + use log::info;
   |
1  + use solana_program::info;
   |

error: cannot find macro `info` in this scope
  --> src\gpu_bridge.rs:69:17
   |
69 |                 info!(
   |                 ^^^^
   |
help: consider importing one of these macros
   |
1  + use crate::info;
   |
1  + use log::info;
   |
1  + use solana_program::info;
   |

error[E0407]: method `name` is not a member of trait `eframe::epi::App`
   --> src\gui.rs:245:5
    |
245 | /     fn name(&self) -> &str {
246 | |         "Solana Sniper Bot"
247 | |     }
    | |_____^ not a member of trait `eframe::epi::App`

error[E0412]: cannot find type `Bot` in this scope
   --> src\gpu_bridge.rs:48:6
    |
48  |   impl Bot {
    |        ^^^
    |
   ::: C:\Users\Orsen\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\boxed.rs:235:1
    |
235 | / pub struct Box<
236 | |     T: ?Sized,
237 | |     #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global,
238 | | >(Unique<T>, A);
    | |_- similarly named struct `Box` defined here
    |
help: a struct with a similar name exists
    |
48  | impl Box {
    |      ~~~
help: consider importing this struct
    |
1   + use crate::Bot;
    |

error[E0412]: cannot find type `Bot` in this scope
   --> src\gui.rs:10:14
    |
10  |       bot: Arc<Bot>,
    |                ^^^
    |
   ::: C:\Users\Orsen\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\boxed.rs:235:1
    |
235 | / pub struct Box<
236 | |     T: ?Sized,
237 | |     #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global,
238 | | >(Unique<T>, A);
    | |_- similarly named struct `Box` defined here
    |
help: a struct with a similar name exists
    |
10  |     bot: Arc<Box>,
    |              ~~~
help: consider importing this struct
    |
2   + use crate::Bot;
    |

error[E0412]: cannot find type `Bot` in this scope
   --> src\gui.rs:33:25
    |
33  |       pub fn new(bot: Arc<Bot>) -> Self {
    |                           ^^^
    |
   ::: C:\Users\Orsen\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\boxed.rs:235:1
    |
235 | / pub struct Box<
236 | |     T: ?Sized,
237 | |     #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global,
238 | | >(Unique<T>, A);
    | |_- similarly named struct `Box` defined here
    |
help: a struct with a similar name exists
    |
33  |     pub fn new(bot: Arc<Box>) -> Self {
    |                         ~~~
help: consider importing this struct
    |
2   + use crate::Bot;
    |

error[E0603]: module `epi` is private
   --> src\gui.rs:3:20
    |
3   |     eframe::{egui, epi},
    |                    ^^^ private module
    |
note: the module `epi` is defined here
   --> C:\Users\Orsen\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.22.0\src\lib.rs:135:1
    |
135 | mod epi;
    | ^^^^^^^

error[E0603]: struct `GpuAnalyzer` is private
 --> src/main.rs:6:24
  |
6 | use crate::gpu_bridge::GpuAnalyzer;
  |                        ^^^^^^^^^^^ private struct
  |
note: the struct `GpuAnalyzer` is defined here
 --> src\gpu_bridge.rs:6:1
  |
6 | struct GpuAnalyzer {
  | ^^^^^^^^^^^^^^^^^^

error[E0603]: module `epi` is private
   --> src\gui.rs:235:14
    |
235 | impl eframe::epi::App for BotGui {
    |              ^^^ private module
    |
note: the module `epi` is defined here
   --> C:\Users\Orsen\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.22.0\src\lib.rs:135:1
    |
135 | mod epi;
    | ^^^^^^^
help: consider importing this trait instead
    |
235 | impl eframe::App for BotGui {
    |      ~~~~~~~~~~~

error[E0603]: module `epi` is private
   --> src\gui.rs:236:64
    |
236 |     fn update(&mut self, ctx: &egui::Context, _frame: &eframe::epi::Frame) {
    |                                                                ^^^ private module
    |
note: the module `epi` is defined here
   --> C:\Users\Orsen\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.22.0\src\lib.rs:135:1
    |
135 | mod epi;
    | ^^^^^^^
help: consider importing this struct instead
    |
236 |     fn update(&mut self, ctx: &egui::Context, _frame: &eframe::Frame) {
    |                                                        ~~~~~~~~~~~~~

warning: unused import: `crate::gui::BotGui`
 --> src/main.rs:7:5
  |
7 | use crate::gui::BotGui;use config::File as ConfigFile;
  |     ^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused import: `Instruction`
  --> src/main.rs:17:40
   |
17 |     instruction::{CompiledInstruction, Instruction},
   |                                        ^^^^^^^^^^^

error[E0599]: no method named `send` found for struct `SplitSink` in the current scope
   --> src/main.rs:179:26
    |
178 | /                     write
179 | |                         .send(WsMessage::Text(subscribe_message.to_string()))
    | |_________________________-^^^^
    |
   ::: C:\Users\Orsen\.cargo\registry\src\index.crates.io-6f17d22bba15001f\futures-util-0.3.31\src\sink\mod.rs:220:8
    |
220 |       fn send(&mut self, item: Item) -> Send<'_, Self, Item>
    |          ---- the method is available for `SplitSink<WebSocketStream<tokio_tungstenite::MaybeTlsStream<tokio::net::TcpStream>>, tokio_tungstenite::tungstenite::Message>` here
    |
    = help: items from traits can only be used if the trait is in scope
help: trait `SinkExt` which provides `send` is implemented but not in scope; perhaps you want to import it
    |
1   + use futures_util::SinkExt;
    |
help: there is a method `send_all` with a similar name
    |
179 |                         .send_all(WsMessage::Text(subscribe_message.to_string()))
    |                          ~~~~~~~~

error[E0599]: no method named `extract_token_address` found for reference `&Bot` in the current scope
   --> src/main.rs:236:59
    |
236 |                         if let Some(token_address) = self.extract_token_address(log) {
    |                                                      -----^^^^^^^^^^^^^^^^^^^^^-----
    |                                                      |    |
    |                                                      |    this is an associated function, not a method
    |                                                      help: use associated function syntax instead: `Bot::extract_token_address(log)`
    |
    = note: found the following associated functions; to be used as methods, functions must have a `self` parameter
note: the candidate is defined in an impl for the type `Bot`
   --> src/main.rs:269:5
    |
269 |     fn extract_token_address(log: &serde_json::Value) -> Option<String> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0277]: the size for values of type `str` cannot be known at compilation time
   --> src/main.rs:236:32
    |
236 |                         if let Some(token_address) = self.extract_token_address(log) {
    |                                ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `str`
note: required by a bound in `std::prelude::v1::Some`
   --> C:\Users\Orsen\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\option.rs:571:17
    |
571 | pub enum Option<T> {
    |                 ^ required by this bound in `std::prelude::v1::Some`
...
579 |     Some(#[stable(feature = "rust1", since = "1.0.0")] T),
    |     ---- required by a bound in this tuple variant

error[E0308]: mismatched types
   --> src/main.rs:257:52
    |
257 | ...                   self.process_token(token_address).await?;
    |                            ------------- ^^^^^^^^^^^^^- help: try using a conversion method: `.to_string()`
    |                            |             |
    |                            |             expected `String`, found `str`
    |                            arguments to this method are incorrect
    |
note: method defined here
   --> src/main.rs:276:14
    |
276 |     async fn process_token(&self, token_address: String) -> Result<()> {
    |              ^^^^^^^^^^^^^        ---------------------

error[E0308]: mismatched types
    --> src/main.rs:442:27
     |
442  |           instructions.push(ComputeBudgetInstruction::set_compute_unit_limit(
     |  ______________________----_^
     | |                      |
     | |                      arguments to this method are incorrect
443  | |             COMPUTE_UNIT_LIMIT,
444  | |         ));
     | |_________^ expected `CompiledInstruction`, found `Instruction`
     |
note: method defined here
    --> C:\Users\Orsen\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\vec\mod.rs:2003:12
     |
2003 |     pub fn push(&mut self, value: T) {
     |            ^^^^

error[E0308]: mismatched types
    --> src/main.rs:445:27
     |
445  |           instructions.push(ComputeBudgetInstruction::set_compute_unit_price(
     |  ______________________----_^
     | |                      |
     | |                      arguments to this method are incorrect
446  | |             self.config.trading.priority_fee,
447  | |         ));
     | |_________^ expected `CompiledInstruction`, found `Instruction`
     |
note: method defined here
    --> C:\Users\Orsen\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\vec\mod.rs:2003:12
     |
2003 |     pub fn push(&mut self, value: T) {
     |            ^^^^

error[E0609]: no field `rpc_url` on type `RpcConfig`
   --> src/main.rs:291:29
    |
291 |             self.config.rpc.rpc_url, self.config.api_keys.helius_api_key
    |                             ^^^^^^^ unknown field
    |
    = note: available fields are: `solana_rpc_url`, `fallback_url`

error[E0609]: no field `rpc_url` on type `RpcConfig`
   --> src/main.rs:320:29
    |
320 |             self.config.rpc.rpc_url, self.config.api_keys.helius_api_key
    |                             ^^^^^^^ unknown field
    |
    = note: available fields are: `solana_rpc_url`, `fallback_url`

error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied
   --> src\gpu_bridge.rs:49:69
    |
49  |     async fn validate_token(&self, metadata: &serde_json::Value) -> Result<bool> {
    |                                                                     ^^^^^^ ---- supplied 1 generic argument
    |                                                                     |
    |                                                                     expected 2 generic arguments
    |
note: enum defined here, with 2 generic parameters: `T`, `E`
   --> C:\Users\Orsen\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\result.rs:527:10
    |
527 | pub enum Result<T, E> {
    |          ^^^^^^ -  -
help: add missing generic argument
    |
49  |     async fn validate_token(&self, metadata: &serde_json::Value) -> Result<bool, E> {
    |                                                                                +++

error[E0053]: method `update` has an incompatible type for trait
   --> src\gui.rs:236:55
    |
236 |     fn update(&mut self, ctx: &egui::Context, _frame: &eframe::epi::Frame) {
    |                                                       ^^^^^^^^^^^^^^^^^^^ types differ in mutability
    |
    = note: expected signature `fn(&mut BotGui, &eframe::egui::Context, &mut eframe::Frame)`
               found signature `fn(&mut BotGui, &eframe::egui::Context, &eframe::Frame)`
help: change the parameter type to match the trait
    |
236 |     fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
    |                                                       ~~~~~~~~~~~~~~~~~~

error[E0502]: cannot borrow `logs` as immutable because it is also borrowed as mutable
   --> src\gui.rs:230:27
    |
230 |             logs.drain(0..logs.len() - 1000);
    |             ---- -----    ^^^^ immutable borrow occurs here
    |             |    |
    |             |    mutable borrow later used by call
    |             mutable borrow occurs here

Some errors have detailed explanations: E0053, E0107, E0277, E0308, E0407, E0412, E0502, E0599, E0603...
For more information about an error, try `rustc --explain E0053`.
warning: `solana_rust_bot` (bin "solana_rust_bot") generated 2 warnings
error: could not compile `solana_rust_bot` (bin "solana_rust_bot") due to 24 previous errors; 2 warnings emitted