-
Notifications
You must be signed in to change notification settings - Fork 233
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
Default parameters for newly deployed collateral types are too low and create liquidation risk #8960
Comments
Could you elaborate on how agoric-sdk/packages/inter-protocol/src/vaultFactory/params.js Lines 108 to 114 in 980ff41
My guess is that For reference on how agoric-sdk/packages/inter-protocol/src/proposals/addAssetToVault.js Lines 384 to 385 in 980ff41
|
@anilhelvaci #6910 discusses the approach we went with here: Liquidation Margin = Liquidation Ratio I might have been wrong about default MCR being 170% - you're probably right if you can see it's 175% currently. |
Yeah below snippet suggests that agoric-sdk/packages/zoe/src/contractSupport/ratio.js Lines 204 to 208 in 032c215
|
Evaluating a great big bundle of code every time we add a vault collateral is messy, at best. Since we need a new bundle for I did some prototyping: cc @Jorge-Lopes |
The fact that changing the Liquidation Ratio isn't a 1 line tweak in the core-eval to add a new vault is a consequence of the fact that the connections between governance parameter values (and contract terms) and config file options is incomplete and ad-hoc. I hope we'll consider solving the more general problem: cc @Jorge-Lopes |
I like this idea 👍 However, I thought the point of making a core-eval for |
...
No; the relevant method(s) would be on the creatorFacet of this contract-to-be, which would only be available in the bootstrap context and hence require BLD staker governance to access. So the core eval code to add a new vault collateral type would be something like: const details = { issuerName: 'Tok123', denom: 'ibc/...', decimalPlaces: 18, liquidationRatio = 3.25, ... };
async ({ consume: { interAssetKit } }) => E(E.get(interAssetKit).creatorFacet).addCollateralType(details); That's it. Short and sweet. |
Thank you very much for your feedback, @dckc. Your approach appears to be a more suitable solution for a process we anticipate will become increasingly frequent in the future. We will notify @otoole-brendan about this potential path, and if he agrees, we will proceed accordingly. |
@Jorge-Lopes @anilhelvaci what Dan is proposing seems like an overall improvement but I'm failing to parse if there are any major trade-offs to consider with this change in approach. Could you break it down in more simpler terms so I can understand?
|
Both designs require a core-eval to be proposed and accepted by the BLDer DAO, the diference relies on the load put on system regarding the core-eval. In order to break it down in more detail we would like some help from @dckc to clarify a few things:
As far as we know, in order to import tooling in the core-evals, agoric run needs to bundle code that handles the logic. Thank you in advance. |
yes.
We're grabbing the tooling from the |
Greetings @otoole-brendan Approach 1: Core-eval Generated Using Agoric-runWhen a core-eval is generated using the Approach 2: Core-eval Manually GeneratedThe second approach, involves deploying a new contract that will exposes the required methods in its creatorFacet to add a new collateral type and change the initialParamValues if necessary. Then, a core-eval is ConclusionWe understand and are able to perform what Dan is suggesting. However, in order to identify which option is more suitable, we believe OpCo engineering team should discuss and decide what the correct way is, since both approaches has its merits and the difference between these actions are purely technical. The fundamental question is:Should we keep using the core-eval generated by |
one detail...
Typically, that short core-eval will likely be generated using the Cosmos Proposal Builder web form. |
What is the Problem Being Solved?
Our default parameters for new collateral adds are too low and recently resulted in us having to put out comms to notify two ambitious users (who squeaked in with small vaults before we smoke-tested and increased parameters) in order for them to avoid liquidation.
Current default parameters are:
Mint Limit: 1000IST
Collateralization Ratio: 170%
Liquidation Ratio: 150%
Description of the Design
For all new mainnet core-eval collateral adds
Mint Limit: Unchanged (1000IST)
Increase Collateralization ratio to 400%
Increase Liquidation ratio to 380%
Ensure automated/CI testing is updated to account for this change and does not break
Test Plan
Ensure CI/automated testing doesn't break/is updated
Further context/discussion in Slack:
https://agoricopco.slack.com/archives/C038TM0EUKG/p1708531858850789?thread_ts=1708531023.979719&cid=C038TM0EUKG
The text was updated successfully, but these errors were encountered: