Releases: nounsDAO/nouns-monorepo
DAO V4 & Auction House V2
Summary
-
Support for Client Incentives. It's possible to send a
clientId
parameter for attribution of which frontend assisted in using the Nouns contracts. Currently possible in proposal creation, voting, and auction bidding. -
Auction house keeps an onchain history of settlements.
New contracts
NounsAuctionHouseV2
- 0x2FDAdd994b1eDEfD19744F00d1Afe85045A31561NounsDAOLogicV4
- 0xA23e8A919D29d74Ee24d909D80f4bC8778d656d1
DAO V3.1
Summary
Vote with Gas Refund: change refund destination such that multisig voter that pays for gas get refunded, rather than sending the refund to the multisig contract. Technically, this change involves refunding tx.origin instead of msg.sender.
Contracts
NounsDAOLogicV3
- 0xe3caa436461dba00cfbe1749148c9fa7fa1f5344
DAO V3
Proposals
Summary
- Proposal editing: adding a new initial state to the proposal lifecycle: “Updatable”, during which proposers can update their proposal's transactions and text description.
- This feature will be disabled at first and will require a separate proposal to configure the period of the Updatable state.
- Propose by signatures: allowing Nouners and delegates to pool their voting power towards submitting a proposal, by submitting their signature, instead of the current approach where sponsors must delegate their votes to help a proposer achieve threshold.
- This feature will be activated once this proposal executes.
- Objection-only period: a conditional voting period that gets activated upon a “last-minute” proposal swing from defeated to successful, affording voters more reaction time. Only against votes are possible during the objection period.
- This feature will be disabled at first and will require a separate proposal to enable it and configure its parameters.
- Votes snapshot after voting delay: moving votes snapshot up, to provide Nouners with reaction time per proposal, to get their votes ready (e.g. some might want to move their delegations around). Currently the vote snapshot block is the proposal creation block.
- Nouns Fork: allowing Nouners to exit the DAO by forking to a new DAO. Current threshold is set at 20%. For more details please read the tech spec and this post.
New contracts
NounsDAOLogicV3
- 0xdD1492570beb290a2f309541e1fDdcaAA3f00B61NounsDAOForkEscrow
- 0x44d97D22B3d37d837cE4b22773aAd9d1566055D9ForkDAODeployer
- 0xcD65e61f70e0b1Aa433ca1d9A6FC2332e9e73cE3NounsDAOExecutorProxy
- 0xb1a32FC9F9D8b2cf86C068Cae13108809547ef71NounsDAOExecutorV2
- 0x0FB7CF84F171154cBC3F553aA9Df9b0e9076649DNounsDAODataProxy
- 0xf790A5f59678dd733fb3De93493A91f472ca1365NounsDAOData
- 0x26d6cD86c1F30aD528c67300bD7ACf48F23F9EB6
DAO V2.1
Summary
Vote with Gas Refund: change refund destination such that multisig voter that pays for gas get refunded, rather than sending the refund to the multisig contract. Technically, this change involves refunding tx.origin
instead of msg.sender
.
New contracts
NounsDAOLogicV2
- 0x51C7D7C47E440d937208bD987140D6db6B1E4051
DAO V2
See the upgrade proposal here.
Summary
- 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 for more info.
- Vote with Gas Refund: Allow Nouners/delegates to vote and receive a gas refund. The vote still takes place in the case of insufficient ETH to refund.
- 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.
- 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.
- Vetoer Change Is Now 2-step: We 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.
New contracts
NounsDAOLogicV2
- 0xCaCF365eDA93F07741a80D4F39a773BAaBb3a873
nouns-contracts/1.0.0 (Mainnet Release)
v1.0.0 represents the mainnet release of the Nouns contracts on 8/8/21 at the following addresses:
NFTDescriptor
- 0x0BBAd8c947210ab6284699605ce2a61780958264
NounsDescriptor
- 0x0Cfdb3Ba1694c2bb2CFACB0339ad7b1Ae5932B63
NounsSeeder
- 0xCC8a0FB5ab3C7132c1b2A0109142Fb112c4Ce515
NounsToken
- 0x9C8fF314C9Bc7F6e59A9d9225Fb22946427eDC03
NounsAuctionHouse
- 0xF15a943787014461d94da08aD4040f79Cd7c124e
NounsAuctionHouseProxyAdmin
- 0xC1C119932d78aB9080862C5fcb964029f086401e
NounsAuctionHouseProxy
- 0x830BD73E4184ceF73443C15111a1DF14e495C706
NounsDAOExecutor
- 0x0BC3807Ec262cB779b38D65b38158acC3bfedE10
NounsDAOLogicV1
- 0xa43aFE317985726E4e194eb061Af77fbCb43F944
NounsDAOProxy
- 0x6f3E6272A167e8AcCb32072d08E0957F9c79223d
Demonstration Release
This release is a demonstration release of the boilerplate contract to demonstrate contract CD.