Normal behavior: public interface and implementation should expose matching ABI for all callable methods.
Issue: IStratax.unwindPosition has a different parameter list than Stratax.unwindPosition, so interface-generated calldata does not match the implementation function selector.
Likelihood:
Reason 1 // Integrators rely on IStratax for typed calls and selector generation.
Reason 2 // Signature mismatch is deterministic and occurs on every such call.
Impact:
Impact 1 // Unwind calls can revert/fail at ABI boundary.
Impact 2 // Operational inability to execute safety-critical unwind from integration stack.
This PoC ABI-encodes the unwind call using IStratax and sends it directly to the deployed Stratax contract. The call fails because the selector/argument layout does not match the implementation signature, proving interface drift is exploitable as an integration failure.
The mitigation is straightforward: keep one canonical ABI surface and enforce it in CI with selector-conformance tests. This prevents silent drift between interfaces used by integrators and actual deployed contracts.
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.