use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct OdosSwapInputBody {
#[serde(rename = "to", skip_serializing_if = "Option::is_none")]
pub to: Option<String>,
#[serde(rename = "value", skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(rename = "data", skip_serializing_if = "Option::is_none")]
pub data: Option<String>,
#[serde(rename = "nonce", skip_serializing_if = "Option::is_none")]
pub nonce: Option<String>,
#[serde(rename = "gas", skip_serializing_if = "Option::is_none")]
pub gas: Option<String>,
#[serde(rename = "dryrun", skip_serializing_if = "Option::is_none")]
pub dryrun: Option<bool>,
#[serde(rename = "chain_id")]
pub chain_id: String,
#[serde(rename = "EOA", skip_serializing_if = "Option::is_none")]
pub eoa: Option<bool>,
#[serde(rename = "broadcast", skip_serializing_if = "Option::is_none")]
pub broadcast: Option<bool>,
#[serde(rename = "alwaysIncrementNonce", skip_serializing_if = "Option::is_none")]
pub always_increment_nonce: Option<bool>,
#[serde(rename = "inputTokens")]
pub input_tokens: Vec<models::TokenAmount>,
#[serde(rename = "outputTokens")]
pub output_tokens: Vec<models::TokenProportion>,
#[serde(rename = "userAddr", skip_serializing_if = "Option::is_none")]
pub user_addr: Option<String>,
#[serde(rename = "slippageLimitPercent", skip_serializing_if = "Option::is_none")]
pub slippage_limit_percent: Option<f64>,
#[serde(rename = "sourceBlacklist", skip_serializing_if = "Option::is_none")]
pub source_blacklist: Option<Vec<String>>,
#[serde(rename = "sourceWhitelist", skip_serializing_if = "Option::is_none")]
pub source_whitelist: Option<Vec<String>>,
#[serde(rename = "poolBlacklist", skip_serializing_if = "Option::is_none")]
pub pool_blacklist: Option<Vec<String>>,
#[serde(rename = "pathViz", skip_serializing_if = "Option::is_none")]
pub path_viz: Option<bool>,
#[serde(rename = "pathVizImage", skip_serializing_if = "Option::is_none")]
pub path_viz_image: Option<bool>,
#[serde(rename = "pathVizImageConfig", skip_serializing_if = "Option::is_none")]
pub path_viz_image_config: Option<Box<models::PathVizImageConfig>>,
#[serde(rename = "disableRFQs", skip_serializing_if = "Option::is_none")]
pub disable_rfqs: Option<bool>,
#[serde(rename = "referralCode", skip_serializing_if = "Option::is_none")]
pub referral_code: Option<f64>,
#[serde(rename = "compact", skip_serializing_if = "Option::is_none")]
pub compact: Option<bool>,
#[serde(rename = "likeAsset", skip_serializing_if = "Option::is_none")]
pub like_asset: Option<bool>,
#[serde(rename = "simple", skip_serializing_if = "Option::is_none")]
pub simple: Option<bool>,
#[serde(rename = "gasPrice", skip_serializing_if = "Option::is_none")]
pub gas_price: Option<Box<models::InputBodyMinHealthFactor>>,
}
impl OdosSwapInputBody {
pub fn new(chain_id: String, input_tokens: Vec<models::TokenAmount>, output_tokens: Vec<models::TokenProportion>) -> OdosSwapInputBody {
OdosSwapInputBody {
to: None,
value: None,
data: None,
nonce: None,
gas: None,
dryrun: None,
chain_id,
eoa: None,
broadcast: None,
always_increment_nonce: None,
input_tokens,
output_tokens,
user_addr: None,
slippage_limit_percent: None,
source_blacklist: None,
source_whitelist: None,
pool_blacklist: None,
path_viz: None,
path_viz_image: None,
path_viz_image_config: None,
disable_rfqs: None,
referral_code: None,
compact: None,
like_asset: None,
simple: None,
gas_price: None,
}
}
}