Skip to main content

RunJournalStore

Trait RunJournalStore 

Source
pub trait RunJournalStore: Send + Sync {
    // Required methods
    fn init(&self) -> Result<(), StorageError>;
    fn save_run_state(&self, state: &BotRunState) -> Result<(), StorageError>;
    fn load_run_state(
        &self,
        run_id: &str,
    ) -> Result<Option<BotRunState>, StorageError>;
    fn latest_run_for_market(
        &self,
        market: &MarketId,
        strategy_name: &str,
    ) -> Result<Option<BotRunState>, StorageError>;
    fn append_order_event(
        &self,
        run_id: &str,
        order: &ExchangeOrder,
    ) -> Result<(), StorageError>;
    fn append_closed_trade(
        &self,
        run_id: &str,
        trade: &ClosedTrade,
    ) -> Result<(), StorageError>;
    fn list_order_events(
        &self,
        run_id: &str,
        limit: usize,
    ) -> Result<Vec<ExchangeOrder>, StorageError>;
    fn list_closed_trades(
        &self,
        run_id: &str,
        limit: usize,
    ) -> Result<Vec<ClosedTrade>, StorageError>;
}

Required Methods§

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§