0x66cd193d…8184sent to0x3e769115…4b14·#17,132,766·view on Etherscan
_setImplementation(address)_setDynamicQuorumParams(uint16,uint16,uint32)# Lil Nouns DAO V2 Upgrade
tl;dr: This is a proposal to bring Nouns DAO's V2 upgrades to Lil Nouns.
## Summary
This proposal updates the Lil Nouns' Nouns DAO logic contract to a new version, with the following improvements and additions:
1. **Dynamic Quorum**: In V1, quorum is a fixed percentage of total supply. In V2, quorum has a dynamic range, rising as a function of against votes up to a defined cap. Read [this post](https://mirror.xyz/0x10072dfc23771101dC042fD0014f263316a6E400/96zSoFfiT_RM2o2P9UbVKxPzVpB_trZqUjzllBE00BE) for more info.
2. **Vote with Gas Refund**: Allow Lil Nouners/delegates to vote and receive a gas refund. The vote still takes place in the case of insufficient ETH to refund.
3. **Voting Delay Editing Bug Fix**: In V1, editing voting delay was unsafe. V2 makes it safe to edit anytime. More info on the bug [here](https://github.com/nounsDAO/nouns-diligence/blob/main/reports/proposal-58.md#major).
4. **Cancel Proposal Bug Fix**: The DAO has a spam mitigation feature, allowing anyone to cancel a proposal if the proposer has an amount of votes less than or equal to proposal threshold. In V1, this feature didn't work when proposer had exactly proposal threshold votes; in V2 it works as expected.
5. **Vetoer Change Is Now 2-step**: Nouns received audit feedback that V1's vetoer change process was risky as a single-step process. In V2, the risk of setting a wrong vetoer is mitigated using a 2-step process where the current vetoer sets a pending new vetoer. Once set, the pending vetoer must accept for the change to take place.
## Audit (Nouns DAO)
1. The code has gone through internal reviews and a [code4rena audit](https://code4rena.com/reports/2022-08-nounsdao/).
2. **No high-risk issues were found in V2**.
3. **Unrelated to this proposal**, one high-risk issue was found. See [this audit summary on discourse](https://discourse.nouns.wtf/t/nouns-dao-v2-audit-summary/2525) for more information.
## Dynamic Quorum Parameters
As articulated in this [detailed post](https://mirror.xyz/0x10072dfc23771101dC042fD0014f263316a6E400/96zSoFfiT_RM2o2P9UbVKxPzVpB_trZqUjzllBE00BE), three parameters need to be set for dynamic quorum.
This proposal sets all parameters to match the current 10% base quorum and therefore does not activate dynamic quorum. All three parameters can be edited at any time via proposal.
1. **Minimum quorum %**: set to 10%.
2. **Maximum quorum %**: set to 10%.
3. **Coefficient**: set to 0.
## Vote with Gas Refund
A bit more on how this feature works:
1. Governance clients (like lilnouns.wtf/vote) need to update their code to support it.
2. Refunds are subject to certain constraints:
1. Gas base fee is capped at 200 gwei.
2. Gas priority fee is capped at 2 gwei.
3. Total gas is capped at 200K, supporting voting reason text up to roughly 9,190 characters.
4. If the contract’s balance is insufficient, voter will receive a partial refund.
3. This feature requires the DAO to maintain the DAO contract’s ETH balance, which should be done via periodic ETH transfer proposals from the treasury to the DAO contract (this proposal performs the first funding). 12 ETH should be enough for just over 100 proposals at a 30% participation rate.
4. The DAO can choose to withdraw and refund ETH back into the treasury at any time via proposal.
## Proposal Transactions for Humans
1. `transfer`: 12 ETH to Lil Nouns' nounsDAOProxy contract for vote refunds
2. `_setImplementation`: upgrades DAO logic to V2.
3. `_setDynamicQuorumParams`: sets dynamic quorum params to:
1. Minimum quorum BPs: 10% (1000 basis points).
2. Maximum quorum BPs: 10% (1000 basis points).
3. Coefficient: 0.