use {
crate::models,
serde::{Deserialize, Serialize},
};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TravelRuleValidateTransactionRequest {
#[serde(rename = "transactionAsset")]
pub transaction_asset: String,
#[serde(rename = "destination")]
pub destination: String,
#[serde(rename = "transactionAmount")]
pub transaction_amount: String,
#[serde(rename = "originatorVASPdid")]
pub originator_vas_pdid: String,
#[serde(rename = "originatorEqualsBeneficiary")]
pub originator_equals_beneficiary: bool,
#[serde(rename = "travelRuleBehavior", skip_serializing_if = "Option::is_none")]
pub travel_rule_behavior: Option<bool>,
#[serde(rename = "beneficiaryVASPdid", skip_serializing_if = "Option::is_none")]
pub beneficiary_vas_pdid: Option<String>,
#[serde(
rename = "beneficiaryVASPname",
skip_serializing_if = "Option::is_none"
)]
pub beneficiary_vas_pname: Option<String>,
#[serde(rename = "beneficiaryName", skip_serializing_if = "Option::is_none")]
pub beneficiary_name: Option<String>,
#[serde(
rename = "beneficiaryAccountNumber",
skip_serializing_if = "Option::is_none"
)]
pub beneficiary_account_number: Option<String>,
#[serde(rename = "beneficiaryAddress", skip_serializing_if = "Option::is_none")]
pub beneficiary_address: Option<models::TravelRuleAddress>,
}
impl TravelRuleValidateTransactionRequest {
pub fn new(
transaction_asset: String,
destination: String,
transaction_amount: String,
originator_vas_pdid: String,
originator_equals_beneficiary: bool,
) -> TravelRuleValidateTransactionRequest {
TravelRuleValidateTransactionRequest {
transaction_asset,
destination,
transaction_amount,
originator_vas_pdid,
originator_equals_beneficiary,
travel_rule_behavior: None,
beneficiary_vas_pdid: None,
beneficiary_vas_pname: None,
beneficiary_name: None,
beneficiary_account_number: None,
beneficiary_address: None,
}
}
}