/*
 * Ethereal Exchange API
 *
 * Ethereal HTTP API for real-time trading, order management, and market data access.
 *
 * The version of the OpenAPI document: 0.1.0
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct LinkSignerDto {
    /// The signature from signTypedData(...) signed by the sender
    #[serde(rename = "signature")]
    pub signature: String,
    /// The signature from signTypedData(...) signed by the signer
    #[serde(rename = "signerSignature")]
    pub signer_signature: String,
    #[serde(rename = "data")]
    pub data: models::LinkSignerDtoData,
}

impl LinkSignerDto {
    pub fn new(
        signature: String,
        signer_signature: String,
        data: models::LinkSignerDtoData,
    ) -> LinkSignerDto {
        LinkSignerDto {
            signature,
            signer_signature,
            data,
        }
    }
}
