Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider lowering withdrawal queue time #152

Closed
markuspluna opened this issue Nov 29, 2023 · 4 comments
Closed

Consider lowering withdrawal queue time #152

markuspluna opened this issue Nov 29, 2023 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@markuspluna
Copy link
Contributor

Current backstop withdraw queue timer is set at 30 days - as a result the emissions swap timelock should be set over 30 days to avoid malicious backstop swaps if the majority of liquid BLND is in the backstop. This results in extremely long (60 day) upgrade periods. It should be safe to lower the withdrawal queue to around 21 days in order to shave 15ish days off the upgrade period. Verify that this is safe and if it is implement the lower queue times

@markuspluna markuspluna added the enhancement New feature or request label Nov 29, 2023
@markuspluna
Copy link
Contributor Author

We should also consider changing the drop timelock here as it is likely excessive given that the backstop swap timelock is additive to the drop timelock

@markuspluna
Copy link
Contributor Author

The scenario we're trying to prevent here is the backstop not protecting lenders when a pool goes defunct - this would entail the oracle failing to post updates and collateral assets depreciating significantly in value.

In this scenario we assume that all lenders would withdraw bringing the utilization rate to near 100% - and we want liquidations to begin based on interest accrual before backstop depositors can finish withdrawing.

The two primary factors that ensure this are the withdrawal timelock and the R3 value. Any reductions in withdrawal timelocks can be made up for by increasing the R3 value, the only downside to doing so is increased interest rate volatility at high utilization rates.

Upon further analysis it's unrealistic for the R3 value and timelock to sufficiently control for this scenario without an excessively high R3 value (2000%+) which causes extreme interest rate volatility at high utilization ratios - or an excessive timelock (2 months +)

Instead, we will rely on external facilitators to force close pool positions in wind-down scenarios. This is doable in admin enabled pools by simply continuously lowering the collateral factor of assets. Adminless pools must use an external wind-down smart contract that has authority to execute a winddown function permissionlessly if certain scenario's are met

@markuspluna
Copy link
Contributor Author

Due to the above analysis - the primary purpose of the timelock is now just to prevent backstop's leaving pools too quickly for q4w status changes to be enacted, or too quickly for bad debt to be realized and settled in the face of a depreciation in market conditions. As such 21 days will be sufficient. A PR will be made adjusting timebounds accordingly

@markuspluna
Copy link
Contributor Author

resolved in
#186

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants