betex 0.7.8

Betfair / Prediction Market Exchange
Documentation
use crate::types::{Money, OddsX10000};
use serde::{Deserialize, Serialize};

#[derive(
    Debug,
    Clone,
    Copy,
    Serialize,
    Deserialize,
    PartialEq,
    Eq,
    rkyv::Archive,
    rkyv::Serialize,
    rkyv::Deserialize,
)]
pub enum FillPrice {
    Odds(OddsX10000),
    Ticks(u16),
}

#[derive(
    Debug,
    Clone,
    Copy,
    Serialize,
    Deserialize,
    PartialEq,
    Eq,
    rkyv::Archive,
    rkyv::Serialize,
    rkyv::Deserialize,
)]
pub enum FillQuantity {
    Stake(Money),
    Shares(u64),
}

impl PartialEq<Money> for FillQuantity {
    fn eq(&self, other: &Money) -> bool {
        matches!(self, FillQuantity::Stake(m) if m == other)
    }
}

impl PartialEq<FillQuantity> for Money {
    fn eq(&self, other: &FillQuantity) -> bool {
        matches!(other, FillQuantity::Stake(m) if m == self)
    }
}