Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I extended the tests in scenarios 2 and 3 to actually perform the withdraw at the end to confirm that the lenders received what they were told they were eligible for -- and there was a very slight mismatch, leading to an underflow when draining the pool.
This was due to the crank using an exchange rate of
total assets available to be cranked
as opposed tototal assets earmarked by crank due to the withdrawal gate
. Since the former is larger, I believe the exchange rate had more precision / was larger, which led to the eligible amounts having dust that wasn't actually there.The amounts are small, but I think this should guarantee that a lender is always able to claim what is being advertised.