Skip to main content

oanda_client/models/
pricing_common.rs

1//! OANDA v20 pricing-common definitions.
2use rust_decimal::Decimal;
3use serde::{Deserialize, Serialize};
4
5/// A `PriceBucket` represents a price available for an amount of liquidity
6#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct PriceBucket {
9    /// The Price offered by the `PriceBucket`
10    #[serde(rename = "price", default, skip_serializing_if = "Option::is_none")]
11    #[serde(deserialize_with = "crate::decimal_wire::optional_number_or_string")]
12    pub price: Option<Decimal>,
13    /// The amount of liquidity offered by the `PriceBucket`
14    #[serde(
15        rename = "liquidity",
16        default,
17        skip_serializing_if = "Option::is_none",
18        deserialize_with = "crate::decimal_wire::optional_number_or_string"
19    )]
20    pub liquidity: Option<Decimal>,
21}