In GmxProxy::createOrder(), we are giving the wrong address approval as can be seen [here](https://github.com/CodeHawks-Contests/2025-02-gamma/blob/main/contracts/GmxProxy.sol#L406-L414).
We give approval to gmxRouter, even though in the next line we call gExchangeRouter, and making it impossible to actually create an order, so a revert will happen.
Revert because an unapproved address will be used for swapping funds, which is obviously wrong
Approve the correct address - gExchangeRouter
Router is the one collecting tokens: https://github.com/gmx-io/gmx-synthetics/blob/caf3dd8b51ad9ad27b0a399f668e3016fd2c14df/contracts/router/BaseRouter.sol#L46 https://github.com/gmx-io/gmx-synthetics/blob/caf3dd8b51ad9ad27b0a399f668e3016fd2c14df/contracts/router/Router.sol#L27
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.