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 ChainInfoResponse {
    /// The protocol identifier (e.g. \"ETH\"/\"SOL\").
    #[serde(rename = "chainDescriptor")]
    pub chain_descriptor: String,
    /// The current epoch number of the blockchain network.
    #[serde(rename = "currentEpoch")]
    pub current_epoch: f64,
    /// The percentage of time that has elapsed within the current epoch,
    /// represented as a decimal value between 0 and 1.
    #[serde(rename = "epochElapsed")]
    pub epoch_elapsed: f64,
    /// The total duration in milliseconds of a single epoch.
    #[serde(rename = "epochDuration")]
    pub epoch_duration: f64,
    #[serde(rename = "additionalInfo")]
    pub additional_info: models::AdditionalInfo,
}

impl ChainInfoResponse {
    pub fn new(
        chain_descriptor: String,
        current_epoch: f64,
        epoch_elapsed: f64,
        epoch_duration: f64,
        additional_info: models::AdditionalInfo,
    ) -> ChainInfoResponse {
        ChainInfoResponse {
            chain_descriptor,
            current_epoch,
            epoch_elapsed,
            epoch_duration,
            additional_info,
        }
    }
}