You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Allow keepers to match one large order against multiple smaller counter-orders in a single transaction to save gas.
WindmillExchange.sol IWindmillExchange.sol
Medium
High
** 02**
Native ETH Integration
Support native ETH trading by wrapping deposited ETH into WETH and unwrapping WETH to ETH on withdrawal or settlement.
WindmillExchange.sol IWindmillExchange.sol
High
High
** 03**
Protocol Fees
Introduce a customizable protocol fee collected to a treasury address, separate from the keeper execution incentive fee.
WindmillExchange.sol IWindmillExchange.sol
Medium
Medium
** 04**
Access & Pausing Safety
Restructure permissioned actions, remove pausing constraints on cancellations, and implement safety caps on admin configurations.
WindmillExchange.sol
Low
Medium
Technical Specifications
01: Batch Order Matching
Objective: Save gas and allow keepers to clear liquidity efficiently by matching a single primary order (either buy or sell) against an array of opposing counter-orders.
Feature and its Use Cases
Issue Summary Table
IWindmillExchange.sol
IWindmillExchange.sol
IWindmillExchange.sol
Technical Specifications
01: Batch Order Matching
matchBatch(uint256 primaryOrderId, uint256[] calldata counterOrderIds, uint256 deadline).02: Native ETH Integration
address(0).msg.valueincreateOrderwhentokenIn == address(0). Wrap ETH usingWETH.deposit{value: msg.value}().cancelOrder, iftokenIn == address(0), callWETH.withdraw(refund)and transfer native ETH back to the maker.address(0)as the output token, unwrap WETH and send native ETH instead of WETH.receive() external payable {}to accept native ETH from the WETH contract.03: Protocol Fees
04: Access & Pausing Safety
whenNotPausedmodifier fromcancelOrderto ensure users can withdraw/cancel orders at any time.Additional Context
N/A
Code of Conduct