use {
crate::models,
serde::{Deserialize, Serialize},
};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SmartTransferApproveTerm {
#[serde(rename = "asset")]
pub asset: String,
#[serde(rename = "amount")]
pub amount: String,
#[serde(rename = "srcId")]
pub src_id: String,
#[serde(rename = "fee", skip_serializing_if = "Option::is_none")]
pub fee: Option<String>,
#[serde(rename = "feeLevel", skip_serializing_if = "Option::is_none")]
pub fee_level: Option<FeeLevel>,
#[serde(rename = "note", skip_serializing_if = "Option::is_none")]
pub note: Option<String>,
}
impl SmartTransferApproveTerm {
pub fn new(asset: String, amount: String, src_id: String) -> SmartTransferApproveTerm {
SmartTransferApproveTerm {
asset,
amount,
src_id,
fee: None,
fee_level: None,
note: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum FeeLevel {
#[serde(rename = "LOW")]
Low,
#[serde(rename = "MEDIUM")]
Medium,
#[serde(rename = "HIGH")]
High,
}
impl Default for FeeLevel {
fn default() -> FeeLevel {
Self::Low
}
}