-
Notifications
You must be signed in to change notification settings - Fork 1
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
[DEMO — Do not merge] Use Split-Delegation Strategy from Gnosis Guild #8
base: main
Are you sure you want to change the base?
Conversation
CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅ |
I have read the CLA Document and I hereby sign the CLA |
Thanks @samepant, this is very useful for our planned CIP launching a delegation campaign! |
Looks neat - but how can the results of the poll be independently verified? |
Hey @mfw78 ! Curious what you mean by poll? The code is open source and is running through snapshot's system, so the trust assumptions are similar to the current setup. |
Just pushed another commit, after talking with Snapshot people, we've decided it makes sense to add |
Hey, I'm wan from the snapshot team. I just took a look at the settings.json file, and it technically looks good.
I plugged those same settings into a test space, and it's working. Did not test the delegation side though, as I don't have cow. The only point I am not sure is the
Can you confirm this is your coin total supply ? |
@wa0x6e thanks for reviewing! |
The total COW max supply is 1b tokens: https://etherscan.io/token/0xdef1ca1fb7fbcdc777520aa7f396b4e015f497ab |
To enable the delegation dashboard, you have to go to your space settings, then delegation. In the form, you have to select "Split delegation", then enter your api and contract address Then, go to the strategies section, and add the "Split delegation" strategy |
The only way for CoW DAO to update its space settings is though updating the settings json file which we're discussing ATM... |
I believe it's |
"moderators": [ | ||
"0x387fe763ddac7a6b568ee344fefc31f626bc837b", | ||
"0xa312c2ae6a06504cbebe89468e6f9dc01c8b23d4", | ||
"0xF44217A8b6b3f258BFFEaD635c226528aa516aea" | ||
], | ||
"delegationPortal": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cmagan delegation settings are here, this should enable the portal on the space
i think it should be the current circulating supply of tokens, not the total supply, since those are the only ones that can be used to vote. |
What API is required for this? Concretely what is required to make this work? |
@mfw78 the API that is required is open source and available here. The api going down would interrupt vote calculation — but the vote could be recalculated once it's back up. |
Where is the |
This delegation type is largely handled by the guys at Gnosis (https://github.com/gnosisguild/split-delegation), snapshot is only using their API to display the delegates, and their contract to handle the delegation. We don't have an updated documentation yet, but the settings is only asking 2 things: a contract address, and API url, which are both provided by gnosis at the moment. |
Concretely, there should be documentation cited for the changes, and a test methodology established (sure, it can be on some test site - but there should be written a solid methodology from which reviewers can establish the basis for the PR). Additionally, I'm obviously not going to approve something that is "DEMO - Do not merge". If this is to be pushed to prod, can we please have the PR updated with a step-by-step testing methodology and appropriate PR description/title changes 🙏 |
Description
This PR demonstrates the changes required to leverage the Split-Delegation system that we've built at Gnosis Guild. This system uses a new delegation contract, an indexing service, and an api for making and tracking delegations.
This new delegation system supports:
All the code for the Split-Delegation system can be viewed here: https://github.com/gnosisguild/split-delegation
We've also made changes to the Snapshot frontend that allow this system to be used natively in the snapshot app, but are awaiting PR review. A demo of these changes can be viewed here: https://snapshot-ochre.vercel.app/#/cow.ggtest.eth/delegates
Changes
In order to use this strategy, existing strategies used to get the voting scores should be moved to the
strategies
param on the Split-Delegation strategy. This makes them sub-strategies, and the split-delegation system will add up the scores from the sub-strategies and then will apply the vote weight calculations to compute the final voting power of any address.