Skip to content

Commit ee490a2

Browse files
committed
refactor(trade): remove contract_size from MultiLegOrderLeg
The field was dropped from the multi-leg `legs` definition in the API docs (longbridge/developers#1215), so the server does not return it. Removed across all six SDK layers (Rust, C, C++, Java, Node.js, Python) and from the unreleased changelog entry that listed it.
1 parent 1bb0e0e commit ee490a2

12 files changed

Lines changed: 3 additions & 48 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99
### Added
1010

1111
- **All languages:** add `TradeContext.submit_multileg` (`POST /v1/trade/order/multileg`) — submit a multi-leg option combination order (vertical spreads, straddles, strangles, collars, etc.) whose legs are placed together as a single strategy order. Takes `side`, `order_type`, `submitted_quantity`, `strategy` (`MultiLegStrategy`), a list of legs (`symbol` + `ratio_quantity`), and optional `submitted_price` / `remark` / `client_request_id`; returns the existing `SubmitOrderResponse`
12-
- **All languages:** order queries and the order push now expose multi-leg strategy information. `Order` (from `today_orders` / `history_orders`), `OrderDetail` (from `order_detail`), and the `PushOrderChanged` order-changed event gain an optional `multi_leg` field (`MultiLegInfo`) — present only for multi-leg option combination orders — carrying the `strategy`, `strategy_name`, `multileg_id`, `code`, and the combination `legs` (each with `symbol`, `side`, `position`, `ratio_quantity`, `strike_price`, `expire_date`, `contract_direction`, and `contract_size`). Adds the `MultiLegStrategy`, `MultiLegPosition`, and `ContractDirection` enums
12+
- **All languages:** order queries and the order push now expose multi-leg strategy information. `Order` (from `today_orders` / `history_orders`), `OrderDetail` (from `order_detail`), and the `PushOrderChanged` order-changed event gain an optional `multi_leg` field (`MultiLegInfo`) — present only for multi-leg option combination orders — carrying the `strategy`, `strategy_name`, `multileg_id`, `code`, and the combination `legs` (each with `symbol`, `side`, `position`, `ratio_quantity`, `strike_price`, `expire_date`, and `contract_direction`). Adds the `MultiLegStrategy`, `MultiLegPosition`, and `ContractDirection` enums
1313
- **All languages:** `Execution` gains a `side` field (`OrderSide`) — the buy/sell direction of the fill, now returned by the `today_executions`, `history_executions`, and `all_executions` responses
1414

1515
### Fixed

c/csrc/include/longbridge.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3512,10 +3512,6 @@ typedef struct CMultiLegOrderLeg {
35123512
* Contract type
35133513
*/
35143514
enum CContractDirection contract_direction;
3515-
/**
3516-
* Contract size (maybe null)
3517-
*/
3518-
const struct lb_decimal_t *contract_size;
35193515
} CMultiLegOrderLeg;
35203516

35213517
/**

c/src/trade_context/types.rs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -275,8 +275,6 @@ pub struct CMultiLegOrderLeg {
275275
pub expire_date: *const CDate,
276276
/// Contract type
277277
pub contract_direction: CContractDirection,
278-
/// Contract size (maybe null)
279-
pub contract_size: *const CDecimal,
280278
}
281279

282280
#[derive(Debug)]
@@ -288,7 +286,6 @@ pub(crate) struct CMultiLegOrderLegOwned {
288286
strike_price: Option<CDecimal>,
289287
expire_date: Option<CDate>,
290288
contract_direction: ContractDirection,
291-
contract_size: Option<CDecimal>,
292289
}
293290

294291
impl From<MultiLegOrderLeg> for CMultiLegOrderLegOwned {
@@ -301,7 +298,6 @@ impl From<MultiLegOrderLeg> for CMultiLegOrderLegOwned {
301298
strike_price,
302299
expire_date,
303300
contract_direction,
304-
contract_size,
305301
} = leg;
306302
Self {
307303
symbol: symbol.into(),
@@ -311,7 +307,6 @@ impl From<MultiLegOrderLeg> for CMultiLegOrderLegOwned {
311307
strike_price: strike_price.map(Into::into),
312308
expire_date: expire_date.map(Into::into),
313309
contract_direction,
314-
contract_size: contract_size.map(Into::into),
315310
}
316311
}
317312
}
@@ -328,7 +323,6 @@ impl ToFFI for CMultiLegOrderLegOwned {
328323
strike_price,
329324
expire_date,
330325
contract_direction,
331-
contract_size,
332326
} = self;
333327
CMultiLegOrderLeg {
334328
symbol: symbol.to_ffi_type(),
@@ -344,10 +338,6 @@ impl ToFFI for CMultiLegOrderLegOwned {
344338
.map(|value| value as *const CDate)
345339
.unwrap_or(std::ptr::null()),
346340
contract_direction: (*contract_direction).into(),
347-
contract_size: contract_size
348-
.as_ref()
349-
.map(ToFFI::to_ffi_type)
350-
.unwrap_or(std::ptr::null()),
351341
}
352342
}
353343
}

cpp/include/types.hpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1689,8 +1689,6 @@ struct MultiLegOrderLeg
16891689
std::optional<Date> expire_date;
16901690
/// Contract type
16911691
ContractDirection contract_direction;
1692-
/// Contract size
1693-
std::optional<Decimal> contract_size;
16941692
};
16951693

16961694
/// Multi-leg strategy information

cpp/src/convert.hpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1551,8 +1551,6 @@ convert(const CMultiLegOrderLeg* leg)
15511551
: std::nullopt,
15521552
leg->expire_date ? std::optional{ convert(leg->expire_date) } : std::nullopt,
15531553
convert(leg->contract_direction),
1554-
leg->contract_size ? std::optional{ Decimal(leg->contract_size) }
1555-
: std::nullopt,
15561554
};
15571555
}
15581556

java/javasrc/src/main/java/com/longbridge/trade/MultiLegOrderLeg.java

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ public class MultiLegOrderLeg {
1414
private BigDecimal strikePrice;
1515
private LocalDate expireDate;
1616
private ContractDirection contractDirection;
17-
private BigDecimal contractSize;
1817

1918
/**
2019
* Returns the option symbol, in `ticker.region` format.
@@ -79,19 +78,10 @@ public ContractDirection getContractDirection() {
7978
return contractDirection;
8079
}
8180

82-
/**
83-
* Returns the contract size.
84-
*
85-
* @return contract size
86-
*/
87-
public BigDecimal getContractSize() {
88-
return contractSize;
89-
}
90-
9181
@Override
9282
public String toString() {
9383
return "MultiLegOrderLeg [symbol=" + symbol + ", side=" + side + ", position=" + position
9484
+ ", ratioQuantity=" + ratioQuantity + ", strikePrice=" + strikePrice + ", expireDate=" + expireDate
95-
+ ", contractDirection=" + contractDirection + ", contractSize=" + contractSize + "]";
85+
+ ", contractDirection=" + contractDirection + "]";
9686
}
9787
}

java/src/types/classes.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -623,8 +623,7 @@ impl_java_class!(
623623
ratio_quantity,
624624
strike_price,
625625
expire_date,
626-
contract_direction,
627-
contract_size
626+
contract_direction
628627
]
629628
);
630629

nodejs/index.d.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1048,8 +1048,6 @@ export declare class MultiLegOrderLeg {
10481048
get expireDate(): NaiveDate | null
10491049
/** Contract type */
10501050
get contractDirection(): ContractDirection
1051-
/** Contract size */
1052-
get contractSize(): Decimal | null
10531051
}
10541052

10551053
/** Naive date type */

nodejs/src/trade/types.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -340,9 +340,6 @@ pub struct MultiLegOrderLeg {
340340
expire_date: Option<NaiveDate>,
341341
/// Contract type
342342
contract_direction: ContractDirection,
343-
/// Contract size
344-
#[js(opt)]
345-
contract_size: Option<Decimal>,
346343
}
347344

348345
/// Multi-leg strategy information

python/pysrc/longbridge/openapi.pyi

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6259,11 +6259,6 @@ class MultiLegOrderLeg:
62596259
Contract type
62606260
"""
62616261

6262-
contract_size: Optional[Decimal]
6263-
"""
6264-
Contract size
6265-
"""
6266-
62676262
class MultiLegInfo:
62686263
"""
62696264
Multi-leg strategy information

0 commit comments

Comments
 (0)