fireblocks-sdk 2026.3.27

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},
};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AssetPriceResponse {
    /// The ID of the asset
    #[serde(rename = "legacyId")]
    pub legacy_id: String,
    /// Time of last price update
    #[serde(rename = "lastUpdateAt")]
    pub last_update_at: f64,
    /// Currency (according to ISO 4217 currency codes)
    #[serde(rename = "currency")]
    pub currency: String,
    /// Price in currency
    #[serde(rename = "price")]
    pub price: f64,
    /// Source of the price data
    #[serde(rename = "source")]
    pub source: Source,
}

impl AssetPriceResponse {
    pub fn new(
        legacy_id: String,
        last_update_at: f64,
        currency: String,
        price: f64,
        source: Source,
    ) -> AssetPriceResponse {
        AssetPriceResponse {
            legacy_id,
            last_update_at,
            currency,
            price,
            source,
        }
    }
}
/// Source of the price data
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Source {
    #[serde(rename = "PUBLIC")]
    Public,
    #[serde(rename = "PRIVATE")]
    Private,
}

impl Default for Source {
    fn default() -> Source {
        Self::Public
    }
}