From 5553774d5256479ff3d9e0df641c6e084b0f588d Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 5 Aug 2026 05:01:40 +0200 Subject: [PATCH] Typed streaming --- Cargo.toml | 2 +- src/launch.rs | 21 +++++++++++++++++++++ src/main.rs | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 src/launch.rs diff --git a/Cargo.toml b/Cargo.toml index 0a85544..32f254e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,7 @@ edition = "2024" anyhow = "1.0.104" futures-util = "0.3.33" rt = "0.19.1" -serde = { version = "1.0.229", features = ["serde_derive"] } +serde = { version = "1.0.229", features = ["derive", "serde_derive"] } serde_json = "1.0.151" solana-sdk = "4.1.0" tokio = { version = "1.53.1", features = ["macros", "rt-multi-thread"] } diff --git a/src/launch.rs b/src/launch.rs new file mode 100644 index 0000000..50184e4 --- /dev/null +++ b/src/launch.rs @@ -0,0 +1,21 @@ +use serde::Deserialize; + +#[derive(Debug, Deserialize)] +pub struct NewToken { + pub mint: String, + pub name: String, + pub symbol: String, + pub uri: String, + + #[serde(rename = "marketCapSol")] + pub market_cap_sol: f64, + + #[serde(rename = "solAmount")] + pub sol_amount: f64, + + #[serde(rename = "traderPublicKey")] + pub trader_public_key: String, + + #[serde(rename = "txType")] + pub tx_type: String, +} diff --git a/src/main.rs b/src/main.rs index 1a72eb6..d99d65c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,5 @@ pub mod executor; +pub mod launch; use futures_util::{SinkExt, StreamExt}; use serde_json::json; @@ -17,7 +18,6 @@ async fn main() -> anyhow::Result<()> { let msg = msg?; if let tokio_tungstenite::tungstenite::Message::Text(text) = msg { let token: serde_json::Value = serde_json::from_str(&text)?; - // println!("{} ({})", token.name, token.symbol); println!("{:?}", token); } }