/*
 * Binance Staking REST API
 *
 * OpenAPI Specification for the Binance Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

#![allow(unused_imports)]
use crate::staking::rest_api::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetOnChainYieldsLockedRedemptionRecordResponseRowsInner {
    #[serde(rename = "positionId", skip_serializing_if = "Option::is_none")]
    pub position_id: Option<String>,
    #[serde(rename = "redeemId", skip_serializing_if = "Option::is_none")]
    pub redeem_id: Option<i64>,
    #[serde(rename = "time", skip_serializing_if = "Option::is_none")]
    pub time: Option<i64>,
    #[serde(rename = "asset", skip_serializing_if = "Option::is_none")]
    pub asset: Option<String>,
    #[serde(rename = "lockPeriod", skip_serializing_if = "Option::is_none")]
    pub lock_period: Option<String>,
    #[serde(rename = "amount", skip_serializing_if = "Option::is_none")]
    pub amount: Option<String>,
    #[serde(rename = "originalAmount", skip_serializing_if = "Option::is_none")]
    pub original_amount: Option<String>,
    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
    pub r#type: Option<String>,
    #[serde(rename = "deliverDate", skip_serializing_if = "Option::is_none")]
    pub deliver_date: Option<String>,
    #[serde(rename = "lossAmount", skip_serializing_if = "Option::is_none")]
    pub loss_amount: Option<String>,
    #[serde(rename = "isComplete", skip_serializing_if = "Option::is_none")]
    pub is_complete: Option<bool>,
    #[serde(rename = "rewardAsset", skip_serializing_if = "Option::is_none")]
    pub reward_asset: Option<String>,
    #[serde(rename = "rewardAmt", skip_serializing_if = "Option::is_none")]
    pub reward_amt: Option<String>,
    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
    pub status: Option<String>,
}

impl GetOnChainYieldsLockedRedemptionRecordResponseRowsInner {
    #[must_use]
    pub fn new() -> GetOnChainYieldsLockedRedemptionRecordResponseRowsInner {
        GetOnChainYieldsLockedRedemptionRecordResponseRowsInner {
            position_id: None,
            redeem_id: None,
            time: None,
            asset: None,
            lock_period: None,
            amount: None,
            original_amount: None,
            r#type: None,
            deliver_date: None,
            loss_amount: None,
            is_complete: None,
            reward_asset: None,
            reward_amt: None,
            status: None,
        }
    }
}
