Root Cause: IStratax declares function signatures and struct layouts that do not match the implementation in Stratax.
Impact: High. Integrations that rely on IStratax will generate incorrect function selectors/ABI encoding, causing calls to revert or to target non‑existent selectors.
Normal behavior: Interfaces must match implementation signatures and struct layouts to ensure correct calldata encoding.
Issue: IStratax.unwindPosition and IStratax.TradeDetails do not match Stratax:
unwindPosition in IStratax omits _collateralToWithdraw and has a different parameter order.
calculateParams is declared in IStratax, while Stratax defines calculateOpenParams with a different name and signature.
TradeDetails in IStratax omits token addresses, while Stratax.TradeDetails includes them.
Likelihood:
High for any integration that imports IStratax (e.g., frontends, routers, scripts).
Impact:
Calls revert due to selector mismatch, breaking unwind and parameter calculation flows.
Deploy Stratax.
Use IStratax to call unwindPosition and calculateParams.
Observe reverts due to selector/ABI mismatch.
Align IStratax with the actual implementation:
Update unwindPosition signature to include _collateralToWithdraw and match parameter order.
Update TradeDetails struct layout to match Stratax.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.