If a user wants to withdraw more zEth than the amount of LST currently in the bridge he selects, his transaction will be reverted.
The withdraw
function in BridgeRouterFacet allows a user to exchange his virtual zEth balance for an LST. If the bridge he selects has less LST than the amount he wants to withdraw, the bridge's balance won't be enough to satisfy the withdrawal request making the transaction to revert.
Here's a POC of someone depositing and being unable to withdraw.
A user cannot make a single withdrawal to exchange all his zEth balance for an LST from the protocol. He has to make the withdrawal more than once, first from his desired bridge and then from other bridges. He may still need to exchange the other LST for the desired LST.
Vscode
If a bridge does not have enough LST for the withdrawal, the remaining LST can be sourced from LSTs on other bridges and sold for the desired LST on a DEX.
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.