Owner can't withdraw funds with the ::withdraw:: function because this function is actually using "transfer" for sending eth that's is limited to 2300 gas. And the function is actually more than 2300 gas so eth can't be send. That lead to fund that are stuck in the protocol.
Likelihood:
Everytime owner try to withdraw.
Impact:
Funds can't be withdrawn by owner
No other way to withdraw so funds are basically stuck in the protocol (side effect)
As we know ::transfer:: function is limited by a max of 2300 gas, so we are going to use test to see if simulate a withdraw actually break thats maximum of gas. Please copy paste this test to "FestivalPass.t.sol"
After that we can see that the assertion is broke : └─ ← [Revert] assertion failed: 10460 > 2300
I would recommend you to avoid ::transfer:: function for native eth and use instead this method :
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.