From 3d35cbf0a5dc9ccbb0c497bf1f8b92c137b68685 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Sun, 2 Aug 2026 01:01:16 +0200 Subject: [PATCH] Usage cleanup and client initial signals --- src/engine/engine/risk.rs | 4 ++-- src/engine/engine/strategy.rs | 3 ++- src/engine/engine/terminal.rs | 20 +++++++++++++------- src/engine/store/config.rs | 4 ++-- src/engine/store/strategy.rs | 7 ++----- src/terminal/formatting.rs | 3 ++- src/terminal/main.rs | 4 ++-- src/terminal/terminal.rs | 1 + 8 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/engine/engine/risk.rs b/src/engine/engine/risk.rs index 1993247..7c42595 100644 --- a/src/engine/engine/risk.rs +++ b/src/engine/engine/risk.rs @@ -1,4 +1,4 @@ -use std::sync::{Arc, Weak}; +use pulse_sdk::prelude::*; use futures::StreamExt; use hypersdk::{ @@ -8,7 +8,7 @@ use hypersdk::{ ws::{ConnectionHandle, ConnectionStream, Event}, }, }; -use pulse_sdk::general::Signal; +use std::sync::{Arc, Weak}; use tokio::sync::Mutex; use crate::{engine::Engine, store::config::RiskConfig}; diff --git a/src/engine/engine/strategy.rs b/src/engine/engine/strategy.rs index 552149a..3d09a10 100644 --- a/src/engine/engine/strategy.rs +++ b/src/engine/engine/strategy.rs @@ -1,10 +1,11 @@ +use pulse_sdk::prelude::*; + use anyhow::Context; use futures::StreamExt; use hypersdk::hypercore::{ self, CandleInterval, Subscription, ws::{ConnectionHandle, ConnectionStream, Event}, }; -use pulse_sdk::prelude::*; use std::{ collections::HashSet, sync::{Arc, Weak}, diff --git a/src/engine/engine/terminal.rs b/src/engine/engine/terminal.rs index 20ab85b..781ac9b 100644 --- a/src/engine/engine/terminal.rs +++ b/src/engine/engine/terminal.rs @@ -1,5 +1,6 @@ -use crate::engine::Engine; use pulse_sdk::{map_postcard_err, prelude::*}; + +use crate::engine::Engine; use std::{ collections::HashMap, sync::{Arc, Weak}, @@ -37,7 +38,7 @@ impl TerminalServer { } pub async fn run_server(self: Arc) -> tokio::io::Result<()> { - let path = pulse_sdk::server_path(); + let path = server_path(); if path.exists() { tokio::fs::remove_file(&path).await?; @@ -103,7 +104,13 @@ impl TerminalServer { self.send_to( id, - pulse_sdk::terminal::TerminalServerMessage::SetLogs(self.logs.lock().await.clone()), + TerminalServerMessage::SetLogs(self.logs.lock().await.clone()), + ) + .await?; + + self.send_to( + id, + TerminalServerMessage::SignalsUpdated(engine.signals.lock().await.clone()), ) .await?; @@ -151,7 +158,7 @@ impl TerminalServer { pub async fn broadcast( self: &Arc, - message: pulse_sdk::terminal::TerminalServerMessage, + message: TerminalServerMessage, ) -> tokio::io::Result<()> { let msg = map_postcard_err(postcard::to_allocvec(&message))?; @@ -263,7 +270,7 @@ impl TerminalServer { pub async fn send_to( self: &Arc, id: &usize, - message: pulse_sdk::terminal::TerminalServerMessage, + message: TerminalServerMessage, ) -> tokio::io::Result<()> { Self::send_to_client( self.clients.lock().await.get_mut(id).ok_or_else(|| { @@ -319,8 +326,7 @@ impl TerminalServer { self.logs.lock().await.push(log.clone()); - self.broadcast(pulse_sdk::terminal::TerminalServerMessage::AddLog(log)) - .await + self.broadcast(TerminalServerMessage::AddLog(log)).await } pub async fn info(self: &Arc, name: &str, message: &str) -> tokio::io::Result<()> { diff --git a/src/engine/store/config.rs b/src/engine/store/config.rs index a39bd9a..c9c7be7 100644 --- a/src/engine/store/config.rs +++ b/src/engine/store/config.rs @@ -1,7 +1,7 @@ -use std::collections::HashMap; - use pulse_sdk::general::Allocation; +use std::collections::HashMap; + #[derive(Debug, Clone, Copy, serde::Serialize, serde::Deserialize)] pub struct RiskConfig { pub risk_per_trade: Allocation, diff --git a/src/engine/store/strategy.rs b/src/engine/store/strategy.rs index 858fd9a..bfcb8cd 100644 --- a/src/engine/store/strategy.rs +++ b/src/engine/store/strategy.rs @@ -1,9 +1,6 @@ -use std::{path::PathBuf, process::Stdio}; +use pulse_sdk::{map_postcard_err, prelude::*}; -use pulse_sdk::{ - map_postcard_err, - strategy::{StrategyEngineMessage, StrategyManifest, StrategyMessage}, -}; +use std::{path::PathBuf, process::Stdio}; use tokio::{ io::{AsyncReadExt, AsyncWriteExt}, process::{Child, ChildStdout, Command}, diff --git a/src/terminal/formatting.rs b/src/terminal/formatting.rs index 13313c1..93c1c87 100644 --- a/src/terminal/formatting.rs +++ b/src/terminal/formatting.rs @@ -1,6 +1,7 @@ -use hypersdk::hypercore::Side; use pulse_sdk::prelude::*; +use hypersdk::hypercore::Side; + pub trait Formatted { fn get_formatted(&self) -> Vec; } diff --git a/src/terminal/main.rs b/src/terminal/main.rs index 05aa89a..5b80956 100644 --- a/src/terminal/main.rs +++ b/src/terminal/main.rs @@ -2,6 +2,8 @@ pub mod command; pub mod formatting; pub mod terminal; +use pulse_sdk::prelude::*; + use std::any::Any; use chrono::{Local, Utc}; @@ -21,8 +23,6 @@ use pulse_ui::{ use crate::formatting::{Formatted, apply_padding}; -use pulse_sdk::prelude::*; - pub struct PulseTradeApp { sock: Option, diff --git a/src/terminal/terminal.rs b/src/terminal/terminal.rs index d6b7ec1..ed503b7 100644 --- a/src/terminal/terminal.rs +++ b/src/terminal/terminal.rs @@ -1,4 +1,5 @@ use pulse_sdk::{map_postcard_err, prelude::*}; + use pulse_ui::state::State; use tokio::{