Borrower can initiate refinance for loans held while lender initiates an auction and it active. These are two separate processes initiated by two parties leading to a weird state based on the order of execution.
Borrower can initiate refinance to move the loan to a different pool by specifying the pool id.
Like wise, the lender can also initiate Auction process creating opportunity for other lenders to acquire the loan.
Since both these processes are imitated by two different parties, there is a potential for conflict based on order of execution resulting in state being updated to weird state.
State can potentially be updated to a weird state.
Manual review
If the auction has started by the lender, then refinance invoked by the borrower should revert.
Implement a check in the refinance function to ensure auction is not initiated. If not initiated, the borrower can process the refinance.
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.