deribit_http/model/
trigger.rs

1/******************************************************************************
2   Author: Joaquín Béjar García
3   Email: jb@taunais.com
4   Date: 15/9/25
5******************************************************************************/
6use pretty_simple_display::{DebugPretty, DisplaySimple};
7use serde::{Deserialize, Serialize};
8
9/// Trigger type for stop orders
10#[derive(DebugPretty, DisplaySimple, Clone, PartialEq, Eq, Serialize, Deserialize)]
11#[serde(rename_all = "snake_case")]
12pub enum Trigger {
13    /// Index price trigger
14    IndexPrice,
15    /// Mark price trigger
16    MarkPrice,
17    /// Last price trigger
18    LastPrice,
19}
20
21/// Trigger fill condition for linked orders
22#[derive(DebugPretty, DisplaySimple, Clone, PartialEq, Eq, Serialize, Deserialize)]
23#[serde(rename_all = "snake_case")]
24pub enum TriggerFillCondition {
25    /// Trigger on first hit of the trigger price
26    FirstHit,
27    /// Trigger only when the order is completely filled
28    CompleteFill,
29    /// Trigger incrementally as the order is filled
30    Incremental,
31}