From 46c7de2eef026f961fb5de0e48083b9758f78b5b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 22 Mar 2026 02:15:43 +0000 Subject: [PATCH 1/2] Initial plan From 871e625385d3aa520812464cb6ed1bcba22f49d2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 22 Mar 2026 02:19:16 +0000 Subject: [PATCH 2/2] Fix WarrantInfo fields incorrectly mapped to last_done in TryFrom<quote::FilterWarrant> Co-authored-by: huacnlee <5518+huacnlee@users.noreply.github.com> Agent-Logs-Url: https://github.com/longbridge/openapi/sessions/5db8f207-8635-401c-ab01-6e8cb47d3436 --- rust/src/quote/types.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/rust/src/quote/types.rs b/rust/src/quote/types.rs index 57ebf92dff..634de4fbdd 100644 --- a/rust/src/quote/types.rs +++ b/rust/src/quote/types.rs @@ -1165,18 +1165,18 @@ impl TryFrom for WarrantInfo { turnover: info.turnover.parse().unwrap_or_default(), expiry_date: parse_date(&info.expiry_date) .map_err(|err| Error::parse_field_error("expiry_date", err))?, - strike_price: info.last_done.parse().ok(), + strike_price: info.strike_price.parse().ok(), upper_strike_price: info.upper_strike_price.parse().ok(), lower_strike_price: info.lower_strike_price.parse().ok(), outstanding_qty: info.outstanding_qty.parse().unwrap_or_default(), outstanding_ratio: info.outstanding_ratio.parse().unwrap_or_default(), premium: info.premium.parse().unwrap_or_default(), - itm_otm: info.last_done.parse().ok(), - implied_volatility: info.last_done.parse().ok(), - delta: info.last_done.parse().ok(), + itm_otm: info.itm_otm.parse().ok(), + implied_volatility: info.implied_volatility.parse().ok(), + delta: info.delta.parse().ok(), call_price: info.call_price.parse().ok(), to_call_price: info.to_call_price.parse().ok(), - effective_leverage: info.last_done.parse().ok(), + effective_leverage: info.effective_leverage.parse().ok(), leverage_ratio: info.leverage_ratio.parse().unwrap_or_default(), conversion_ratio: info.conversion_ratio.parse().ok(), balance_point: info.balance_point.parse().ok(), @@ -1194,21 +1194,21 @@ impl TryFrom for WarrantInfo { turnover: info.turnover.parse().unwrap_or_default(), expiry_date: parse_date(&info.expiry_date) .map_err(|err| Error::parse_field_error("expiry_date", err))?, - strike_price: Some(info.last_done.parse().unwrap_or_default()), + strike_price: Some(info.strike_price.parse().unwrap_or_default()), upper_strike_price: None, lower_strike_price: None, outstanding_qty: info.outstanding_qty.parse().unwrap_or_default(), outstanding_ratio: info.outstanding_ratio.parse().unwrap_or_default(), premium: info.premium.parse().unwrap_or_default(), - itm_otm: Some(info.last_done.parse().unwrap_or_default()), + itm_otm: Some(info.itm_otm.parse().unwrap_or_default()), implied_volatility: None, delta: None, call_price: Some(info.call_price.parse().unwrap_or_default()), to_call_price: Some(info.to_call_price.parse().unwrap_or_default()), effective_leverage: None, leverage_ratio: info.leverage_ratio.parse().unwrap_or_default(), - conversion_ratio: Some(info.last_done.parse().unwrap_or_default()), - balance_point: Some(info.last_done.parse().unwrap_or_default()), + conversion_ratio: Some(info.conversion_ratio.parse().unwrap_or_default()), + balance_point: Some(info.balance_point.parse().unwrap_or_default()), status: WarrantStatus::try_from(info.status) .map_err(|err| Error::parse_field_error("state", err))?, }),