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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct QuoteRequest {
    /// The id of the vault account or account id
    #[serde(rename = "accountId", skip_serializing_if = "Option::is_none")]
    pub account_id: Option<String>,
    /// The amount of tokens the swapper will provide, positive number, can be a
    /// decimal.
    #[serde(rename = "inputAmount")]
    pub input_amount: String,
    /// The id of the asset the swapper will provide
    #[serde(rename = "inputAsset")]
    pub input_asset: String,
    /// The id of the asset the swapper will receive
    #[serde(rename = "outputAsset")]
    pub output_asset: String,
    /// The slippage tolerance is a percentage. The slippage tolerance is the
    /// maximum amount the price can change between the time the transaction is
    /// submitted and the time it is executed
    #[serde(rename = "slippageTolerance")]
    pub slippage_tolerance: f64,
    #[serde(rename = "protocol")]
    pub protocol: models::SwapProviderProtocolsEnum,
}

impl QuoteRequest {
    pub fn new(
        input_amount: String,
        input_asset: String,
        output_asset: String,
        slippage_tolerance: f64,
        protocol: models::SwapProviderProtocolsEnum,
    ) -> QuoteRequest {
        QuoteRequest {
            account_id: None,
            input_amount,
            input_asset,
            output_asset,
            slippage_tolerance,
            protocol,
        }
    }
}