gmsol_callback/
types.rs

1use anchor_lang::prelude::*;
2
3/// Action kind.
4#[non_exhaustive]
5#[repr(u8)]
6#[derive(
7    Clone,
8    Copy,
9    num_enum::IntoPrimitive,
10    num_enum::TryFromPrimitive,
11    PartialEq,
12    Eq,
13    AnchorSerialize,
14    AnchorDeserialize,
15    InitSpace,
16)]
17#[cfg_attr(feature = "debug", derive(Debug))]
18#[cfg_attr(feature = "display", derive(strum::EnumString, strum::Display))]
19#[cfg_attr(feature = "display", strum(serialize_all = "snake_case"))]
20#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
21#[cfg_attr(feature = "serde", serde(rename_all = "snake_case"))]
22pub enum ActionKind {
23    /// Deposit.
24    Deposit,
25    /// Withdrawal.
26    Withdrawal,
27    /// Shift.
28    Shift,
29    /// Order.
30    Order,
31    /// GLV deposit.
32    GlvDeposit,
33    /// GLV withdrawal.
34    GlvWithdrawal,
35    /// GLV shift.
36    GlvShift,
37}