In the final stages of deploying a couple immutable primitives for the DAO.
First, I’ll be deploying a generalized contract of what I did with the Vision randomized distributor.
- Any ERC721 in the treasury can be distributed at random.
- Multiple distribution rounds allowed.
- Allows distributing a larger number of NFTs. Prior version was more gas-limited.
- Is being deployed as a primitive for anybody to leverage via their own distribution proposals.
In addition, includes a nice innovation that could also be applied to regular funding props.
The person who submits the prop for distribution of the NFTs sets a min and max to be distributed. The number that ends up being distributed is a function of the number of for
, against
, abstain
votes that the prop received. So, it’ll be the first self-referential prop as when the prop executes it refers to its own vote count. This is the first example of what I call functional props.
Once the new Batch and VRFDistributor contracts are deployed, I will use them to propose random distribution of a chunk of LilNouns in the Treasury. Anybody will be able to propose any ERC721 distributions in the future using the same contracts.
On a separate but related note…
A similar process also applies to regular funding rounds because a proposer can opt to set a min/max funding amount and funding will be a number within that range depending on the level of support for the prop.
I plan on subsequently deploying a contract that can be used for these self-referential funding proposals as well.
Aside from general feedback, I’m specifically interested in some ideas for how to calculate NFTs or funds to be distributed based on the following inputs: (nounSupply, forVotes, againstVotes, abstainVotes, minWinners, maxWinners)
Thoughts?