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

/// ExtraParametersRawMessageData : Object containing messages for raw signing
/// and the algorithm to be used.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ExtraParametersRawMessageData {
    #[serde(rename = "messages", skip_serializing_if = "Option::is_none")]
    pub messages: Option<Vec<models::UnsignedMessage>>,
    #[serde(rename = "algorithm", skip_serializing_if = "Option::is_none")]
    pub algorithm: Option<Algorithm>,
}

impl ExtraParametersRawMessageData {
    /// Object containing messages for raw signing and the algorithm to be used.
    pub fn new() -> ExtraParametersRawMessageData {
        ExtraParametersRawMessageData {
            messages: None,
            algorithm: None,
        }
    }
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Algorithm {
    #[serde(rename = "MPC_ECDSA_SECP256K1")]
    MpcEcdsaSecp256K1,
    #[serde(rename = "MPC_ECDSA_SECP256R1")]
    MpcEcdsaSecp256R1,
    #[serde(rename = "MPC_EDDSA_ED25519")]
    MpcEddsaEd25519,
}

impl Default for Algorithm {
    fn default() -> Algorithm {
        Self::MpcEcdsaSecp256K1
    }
}