fireblocks-sdk 2025.10.17

Rust implementation of the Fireblocks SDK
Documentation
// Fireblocks API
//
// Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.  - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
//
// The version of the OpenAPI document: 1.8.0
// Contact: developers@fireblocks.com
// Generated by: https://openapi-generator.tech

use {
    crate::models,
    serde::{Deserialize, Serialize},
};

/// AmountOverTimeConfigV2 : Amount over time configuration
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmountOverTimeConfigV2 {
    #[serde(rename = "range")]
    pub range: models::AmountOverTimeConfigV2Range,
    /// Currency for the amount
    #[serde(rename = "currency", skip_serializing_if = "Option::is_none")]
    pub currency: Option<Currency>,
    #[serde(rename = "timePeriod")]
    pub time_period: models::TimePeriodConfigV2,
}

impl AmountOverTimeConfigV2 {
    /// Amount over time configuration
    pub fn new(
        range: models::AmountOverTimeConfigV2Range,
        time_period: models::TimePeriodConfigV2,
    ) -> AmountOverTimeConfigV2 {
        AmountOverTimeConfigV2 {
            range,
            currency: None,
            time_period,
        }
    }
}
/// Currency for the amount
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Currency {
    #[serde(rename = "NATIVE")]
    Native,
    #[serde(rename = "USD")]
    Usd,
    #[serde(rename = "EUR")]
    Eur,
}

impl Default for Currency {
    fn default() -> Currency {
        Self::Native
    }
}