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

Soft cap for outstanding kits #35

Open
murbard opened this issue Feb 28, 2021 · 6 comments
Open

Soft cap for outstanding kits #35

murbard opened this issue Feb 28, 2021 · 6 comments
Labels
enhancement New feature or request

Comments

@murbard
Copy link
Contributor

murbard commented Feb 28, 2021

Robocoins often ship with a hardcoded limit for their supply, which is progressively relaxed as stakeholders grow increasingly comfortable with the security and stability of the system. Unfortunately, if and when they hit this limit, there is no mechanism to prevent the robocoin from shooting past is peg as the supply cannot increase.

It turns out Checker can handle a soft-cap very gracefully. The solution is to replace the outstanding supply in the imbalance calculation with the max of the outstanding supply and some soft-cap.

If and when the outstanding supply goes over this limit, the imbalance fee will increase, which will in turn have the effect of pushing the drift lower, making it increasingly unattractive to hold kit as the supply grows larger.

It's also a single line of code change :-)

Although given this use case,

  1. it might be better to have the imbalance adjustment saturate at, say 15%, instead of 5%
  2. one would probably want some admin entrypoint that lets a designated contract (e.g. multisig) increase the soft cap
@purcell
Copy link
Contributor

purcell commented Feb 28, 2021

Interesting!

@murbard
Copy link
Contributor Author

murbard commented Feb 28, 2021

To be sure, I'm not 100% sure this works. It seems on the face of it that it might break an invariant that if no one is getting richer out of this restriction no one should be getting poorer, so where does the disincentive come from? But it's not clear if that invariant is real or not.

@purcell
Copy link
Contributor

purcell commented Feb 28, 2021

Agree, requires a little thought.

@purcell
Copy link
Contributor

purcell commented Mar 1, 2021

Do you feel that we will need a soft cap for initial release?

@murbard
Copy link
Contributor Author

murbard commented Mar 1, 2021

Need is a strong word, but if the analysis holds up, it's definitely worth having that extra line of code.

My current thinking is that the mechanism essentially forces an increase in the collateralisation ratio which is costly for everyone involved.

@purcell
Copy link
Contributor

purcell commented Mar 1, 2021

Yeah, that does make sense.

@purcell purcell added the enhancement New feature or request label Apr 12, 2021
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