Skip to main content

oanda_client/models/
pricing_common.rs

1//! OANDA v20 pricing-common definitions.
2// Shared imports vary by definition family; unused ones are deliberately allowed.
3#[allow(unused_imports)]
4use super::*;
5#[allow(unused_imports)]
6use crate::ids::*;
7#[allow(unused_imports)]
8use crate::timestamp::Timestamp;
9#[allow(unused_imports)]
10use rust_decimal::Decimal;
11#[allow(unused_imports)]
12use serde::{Deserialize, Serialize};
13
14/// A PriceBucket represents a price available for an amount of liquidity
15#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
16#[serde(rename_all = "camelCase")]
17pub struct PriceBucket {
18    /// The Price offered by the PriceBucket
19    #[serde(rename = "price", default, skip_serializing_if = "Option::is_none")]
20    #[serde(deserialize_with = "crate::decimal_wire::optional_number_or_string")]
21    pub price: Option<Decimal>,
22    /// The amount of liquidity offered by the PriceBucket
23    #[serde(
24        rename = "liquidity",
25        default,
26        skip_serializing_if = "Option::is_none",
27        deserialize_with = "crate::decimal_wire::optional_number_or_string"
28    )]
29    pub liquidity: Option<Decimal>,
30}