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

make conditions for finalizing a proposal more robust #28

Closed
0xbigz opened this issue Nov 28, 2023 · 3 comments
Closed

make conditions for finalizing a proposal more robust #28

0xbigz opened this issue Nov 28, 2023 · 3 comments

Comments

@0xbigz
Copy link
Collaborator

0xbigz commented Nov 28, 2023

currently only twaps need to be higher by threshold for proposal to pass. just relying on the twaps as currently implemented might be too easy to game.

i wonder if its better to also ensure that

  1. mid price (and/or bid, ask) of the market is consistent with the twap differences (including threshold?)
  2. allow way to pay to extend proposal (opposite to fee cooldown to launch a new proposal?)

this consistency check wouldn't change whether a proposal passes or not, but just delays finalizing. this gives ample time to for those who really disagree with a proposal to exit before it's allowed to pass.

https://github.com/metaDAOproject/meta-dao/blob/c88a8605cdc0d2ece4dcb25d6a0c3a89bbf7c79b/programs/autocrat_v0/src/lib.rs#L328

@metaproph3t
Copy link
Member

mid price (and/or bid, ask) of the market is consistent with the twap differences (including threshold?)

what does it mean for it to be consistent?

this gives ample time to for those who really disagree with a proposal to exit before it's allowed to pass.

I feel like the exit mechanism is the conditional-on-pass market - you can dump your META in the conditional-on-pass market so that you're guaranteed that you will have sold if it passes

@0xbigz
Copy link
Collaborator Author

0xbigz commented Feb 20, 2024

consistent definition: twap differences between conditional markets matches some 'live price' difference between conditional markets (essentially making the price check more robust)

'live price' could mean something strict like mid price for both markets
OR less strict like ask for pass market and bid for fail market.

for example in strict case, lets say pass twap > fail twap but current fail mid > pass mid
that likely means there are orders that should be placed/cleared before allowing finalizing the markets.

in less strict case, lets consider the following example:

Pass Market: bid=$100, ask=$110 (twap = 90)
Fail Market: bid=$100, ask=$110 (twap = 90)

  • user vehemently disagrees with pass market
  • in the last few hours leading up to proposal end time, the pass market has surged vs fail market

Pass Market: bid=$200, ask=$210 (twap = 145)
Fail Market: bid=$100, ask=$110 (twap = 105)

  • user notices fairly late and places fat sell wall in pass market (they are bearish the proposal) and fat bid wall in the fail market

Pass Market: bid=$100, ask=$105 (twap = 145)
Fail Market: bid=$109, ask=$110 (twap = 105)

with the new consistent check rule, other users must buy that sell wall before the proposal can end. if no one is willing to buy it up, then the proposal end time is essentially ended and the fail market still has a chance to win.

@metaproph3t
Copy link
Member

Replaced with #59

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

No branches or pull requests

2 participants