In StabilityBranch.initiateSwap()
, only collateral liveness is checked, while vault liveness is only checked during fulfillment. This allows users to initiate swaps on non-live vaults that will always fail, causing them to lose their base fees.
When initiating a swap with StabilityBranch::initiateSwap
it only checks if collateral is enabled:
But in StabilityBranch::fulfillSwap
is where it checks that the vault is live:
Users can initiate swaps and are guranteed to have transactions that fail which in return makes them lose the base fees on swaps.
A poor UX as users can be set up for impossible transactions that will cost them some tokens
Protocol is taking fees for a service it cannot provide at this moment
Foundry
Add vault liveness check inside of StabilityBranch::initiateSwap
:
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.