carbon-drift-v2-decoder 0.12.0

Drift v2 Decoder
Documentation
use super::super::types::*;

use carbon_core::{borsh, CarbonDeserialize};

#[derive(
    CarbonDeserialize, Debug, serde::Serialize, serde::Deserialize, PartialEq, Eq, Clone, Hash,
)]
#[carbon(discriminator = "0xe445a52e51cb9a1de0344347c2ed6d01")]
pub struct OrderActionRecordEvent {
    pub ts: i64,
    pub action: OrderAction,
    pub action_explanation: OrderActionExplanation,
    pub market_index: u16,
    pub market_type: MarketType,
    pub filler: Option<solana_pubkey::Pubkey>,
    pub filler_reward: Option<u64>,
    pub fill_record_id: Option<u64>,
    pub base_asset_amount_filled: Option<u64>,
    pub quote_asset_amount_filled: Option<u64>,
    pub taker_fee: Option<u64>,
    pub maker_fee: Option<i64>,
    pub referrer_reward: Option<u32>,
    pub quote_asset_amount_surplus: Option<i64>,
    pub spot_fulfillment_method_fee: Option<u64>,
    pub taker: Option<solana_pubkey::Pubkey>,
    pub taker_order_id: Option<u32>,
    pub taker_order_direction: Option<PositionDirection>,
    pub taker_order_base_asset_amount: Option<u64>,
    pub taker_order_cumulative_base_asset_amount_filled: Option<u64>,
    pub taker_order_cumulative_quote_asset_amount_filled: Option<u64>,
    pub maker: Option<solana_pubkey::Pubkey>,
    pub maker_order_id: Option<u32>,
    pub maker_order_direction: Option<PositionDirection>,
    pub maker_order_base_asset_amount: Option<u64>,
    pub maker_order_cumulative_base_asset_amount_filled: Option<u64>,
    pub maker_order_cumulative_quote_asset_amount_filled: Option<u64>,
    pub oracle_price: i64,
}