Nouns Currents
One-liner - Update the Nouns streams contract to increase streams and propdates use, and promote accountability in Nouns.
-
Problem: A majority of proposals do not use streams and do not post updates. In order to increase accountability in the DAO and proposal quality, we need to increase usage of Streams and Propdates.
-
Solution: Revamp the current streams contract, which was initially just a Sablier fork, to include the following features:
- Stream as an NFT: transferable, more secure in case of needing to transfer wallets, and makes Proof-of-Contribution more legible onchain. Stores all data in the NFT contract and renders it onchain.
- Update Requirement: in order to withdraw funds from a stream, the owner must post an update if one hasn’t been posted in the last 30 days (this duration is configurable by the DAO)
- Payment Strategies: depending on a proposal’s needs, a stream can be linear, cliff-based (X ETH every Y days), or exponential (slow at first, steadily increasing, for high risk proposals).
Currents builds on top of the current Nouns Streams contracts, as well as previous work by both Sablier v2 and Zora’s Faucets.
By investing in a new stream primitive that fits contributor’s needs, we can increase the number of proposals that use streams and post regular updates. This improves transparency across the DAO and increases our odds of spotting bad actors and canceling their payments.
Below is a diagram and code sample of how the contracts might work.
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
Questions
- There's no way to enforce onchain that an the propID passed in the mint function reflects the propID of the prop. Currently, we'd be relying on UX from clients as well as social incentives of the DAO to call out any mistakes. How large of a concern is this?