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}