A lender can setPool with very favourable terms for a potential borrower and baiting him into taking out a loan. For example A pool with DAI as the loanToken and savingsDAI as the collateral Token.
The following example has borrowing terms by which a potential borrower can generate yield easily without paying much for borrowing money.
Since the LTV is set very high and the interest rate very low, a borrower might feel he can get a to good to be true deal. Usually interest rate and LTV is much more easy to comprehend than an auctionDuration which a user might not have fully comprehended what it does.
The issue arises from the informational advantage a lender has to the the time when he wants to call startAuction. In this case, the external market has only 1 second of time to buy the Loan and get the lender out of the deal in usual terms. The lender willingly wants the external market not to be able to buy loans (that is why he sets auctionDuration to 1) so that he can liquidate the loan by calling seizeLoan.
For the example below a lender can easily get a finalBalance of
1090e18 tokens (lending + collateral) compared to his initial "investment" of 1000e18 tokens.
competitive market forces for moving/buying loans are likely not effective due to latency for example and allows a lender to liquidate a borrower
manual review.
Consider adding a MIN_AUCTION_DURATION so that the dutch auction can take place and not force liquidations so early.
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.