please help me fix this   Compiling solana-sniper-bot v0.1.0 (C:\solana_rust_bot)
error[E0412]: cannot find type `OnceCell` in this scope
   --> src/main.rs:286:31
    |
286 |         static LAST_LOG_TIME: OnceCell<Instant> = OnceCell::new();
    |                               ^^^^^^^^ not found in this scope
    |
help: consider importing one of these structs
    |
1   + use std::cell::OnceCell;
    |
1   + use tokio::sync::OnceCell;
    |

error[E0433]: failed to resolve: use of undeclared type `OnceCell`
   --> src/main.rs:286:51
    |
286 |         static LAST_LOG_TIME: OnceCell<Instant> = OnceCell::new();
    |                                                   ^^^^^^^^ use of undeclared type `OnceCell`  
    |
help: consider importing one of these structs
    |
1   + use std::cell::OnceCell;
    |
1   + use tokio::sync::OnceCell;
    |

error[E0412]: cannot find type `Config` in this scope
   --> src/main.rs:297:43
    |
297 |     async fn load_config(&self) -> Result<Config> {
    |                                           ^^^^^^ not found in this scope
    |
help: consider importing one of these items
    |
1   + use base64::engine::Config;
    |
1   + use bincode::Config;
    |
1   + use config::Config;
    |
1   + use helius::config::Config;
    |
      and 3 other candidates

error[E0412]: cannot find type `Config` in this scope
   --> src/main.rs:301:21
    |
301 |         let config: Config = serde_json::from_str(&config_data)
    |                     ^^^^^^ not found in this scope
    |
help: consider importing one of these items
    |
1   + use base64::engine::Config;
    |
1   + use bincode::Config;
    |
1   + use config::Config;
    |
1   + use helius::config::Config;
    |
      and 3 other candidates

error[E0412]: cannot find type `TradingBot` in this scope
   --> src/main.rs:330:6
    |
330 | impl TradingBot {
    |      ^^^^^^^^^^ not found in this scope

warning: unused import: `engine::general_purpose`
 --> src/main.rs:2:14
  |
2 | use base64::{engine::general_purpose, Engine as _};
  |              ^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused import: `error`
 --> src/main.rs:4:11
  |
4 | use log::{error, info, warn};
  |           ^^^^^

warning: unused imports: `Signer` and `transaction::Transaction`
  --> src/main.rs:12:26
   |
12 |     signature::{Keypair, Signer},
   |                          ^^^^^^
13 |     transaction::Transaction,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `fs`
  --> src/main.rs:18:5
   |
18 |     fs,
   |     ^^

warning: unused import: `toml`
  --> src/main.rs:25:5
   |
25 | use toml;
   |     ^^^^

error[E0277]: the trait bound `anyhow::Error: StdError` is not satisfied
   --> src/main.rs:168:94
    |
168 | ...                   self.log_error_throttled("Error handling event", &e).await;
    |                                                                        ^^ the trait `StdError` is not implemented for `anyhow::Error`
    |
    = note: required for the cast from `&anyhow::Error` to `&dyn StdError + std::marker::Send + Sync`

error[E0599]: no method named `check_active_trades` found for reference `&Bot` in the current scope
   --> src/main.rs:184:54
    |
184 | ...                   if let Err(e) = self.check_active_trades().await {
    |                                            ^^^^^^^^^^^^^^^^^^^ method not found in `&Bot`     

error[E0382]: borrow of moved value: `new_trade`
   --> src/main.rs:241:60
    |
224 |                 let new_trade = Trade {
    |                     --------- move occurs because `new_trade` has type `Trade`, which does not implement the `Copy` trait
...
240 |                         trades.push(new_trade);
    |                                     --------- value moved here
241 |                         info!("New trade initiated: {:?}", new_trade);
    |                                                            ^^^^^^^^^ value borrowed here after move
    |
    = note: this error originates in the macro `$crate::__private_api::format_args` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)   
help: consider cloning the value if the performance cost is acceptable
    |
240 |                         trades.push(new_trade.clone());
    |                                              ++++++++

error[E0277]: the `?` operator can only be applied to values that implement `Try`
   --> src/main.rs:357:17
    |
357 |                 result?;
    |                 ^^^^^^^ the `?` operator cannot be applied to type `()`
    |
    = help: the trait `Try` is not implemented for `()`

error[E0308]: mismatched types
   --> src/main.rs:122:40
    |
122 |         let config = Self::load_config(config_path)?;
    |                      ----------------- ^^^^^^^^^^^ expected `&Bot`, found `&str`
    |                      |
    |                      arguments to this function are incorrect
    |
    = note: expected reference `&Bot`
               found reference `&str`
note: method defined here
   --> src/main.rs:297:14
    |
297 |     async fn load_config(&self) -> Result<Config> {
    |              ^^^^^^^^^^^ -----

error[E0277]: the `?` operator can only be applied to values that implement `Try`
   --> src/main.rs:122:22
    |
122 |         let config = Self::load_config(config_path)?;
    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl futures_util::Future<Output = Result<{type error}, {type error}>>`
    |
    = help: the trait `Try` is not implemented for `impl futures_util::Future<Output = Result<{type error}, {type error}>>`

error[E0277]: the trait bound `Keypair: Deserialize<'_>` is not satisfied
    --> src/main.rs:310:32
     |
310  |         let keypair: Keypair = serde_json::from_str(&keypair_data)
     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `Keypair`
     |
     = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `Keypair` type 
     = note: for types from other crates check whether the crate offers a `serde` feature flag      
     = help: the following other types implement trait `Deserialize<'de>`:
               `&'a Path` implements `Deserialize<'de>`
               `&'a [u8]` implements `Deserialize<'de>`
               `&'a serde_bytes::bytearray::ByteArray<N>` implements `Deserialize<'de>`
               `&'a serde_bytes::bytes::Bytes` implements `Deserialize<'de>`
               `&'a str` implements `Deserialize<'de>`
               `()` implements `Deserialize<'de>`
               `(T,)` implements `Deserialize<'de>`
               `(T0, T1)` implements `Deserialize<'de>`
             and 665 others
note: required by a bound in `serde_json::from_str`
    --> C:\Users\Orsen\.cargo\registry\src\index.crates.io-6f17d22bba15001f\serde_json-1.0.128\src\de.rs:2680:8
     |
2678 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
     |        -------- required by a bound in this function
2679 | where
2680 |     T: de::Deserialize<'a>,
     |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`

error[E0433]: failed to resolve: use of undeclared type `TradingBot`
   --> src/main.rs:321:23
    |
321 |     let trading_bot = TradingBot::new().await?;
    |                       ^^^^^^^^^^ use of undeclared type `TradingBot`

warning: unused import: `Engine`
 --> src/main.rs:2:39
  |
2 | use base64::{engine::general_purpose, Engine as _};
  |                                       ^^^^^^

Some errors have detailed explanations: E0277, E0308, E0382, E0412, E0433, E0599.
For more information about an error, try `rustc --explain E0277`.
warning: `solana-sniper-bot` (bin "solana-sniper-bot") generated 6 warnings
error: could not compile `solana-sniper-bot` (bin "solana-sniper-bot") due to 13 previous errors; 6 warnings emitted