Status | Pending
Authors | DAO* (Amandeep @amanwithwings , Joshua Tan @thelastjosh , Isaac Patka @izkp )
Abstract
The EIP-4824 standard defines common interfaces for DAOs via daoURI, akin to tokenURI for NFTs. This proposal will extend ENS DAO to EIP-4824 by deploying a new registration contract through a contract interaction with the EIP-4824 factory maintained by DAOstar.
Motivation
Adopting the EIP-4824 standard will enrich the on-chain information availability of ENS governance contracts, making it easier for existing and future DAO tools to seamlessly interact with the contracts. A specific example is enabling members to interact with the ENS governance contracts through different front-end interfaces, potentially across multiple chains. Some of the tools that are digesting or committed to digesting this enriched information include Snapshot, Tally, DAOhaus, Etherscan, DeepDAO, and other members of DAOstar One 3.
Note that adopting the standard does not require any parameter changes to ENS’s existing DAO contracts, nor is there any cost besides gas to call the factory contract. The proposal does not in any way change the way that ENS’s governance works.
Specification
If passed, the ENS DAO will upgrade to EIP-4824 by calling the EIP-4824 registration contract located at 0x37df3fc47c1c3a2acafd2dad9c1c00090a8655bc, setting the ENS Timelock and the MetaGovernance WG multisig as its admins and Joshua Tan (thelastjosh.eth) of DAOstar as its manager. No funds will be transferred.
The registration contract exposes a daoURI view function which returns the URI containing the EIP4824 compliant registration JSON document.
This executable proposal will execute the following calls to complete the contract upgrades:
- Call
EIP4824RegistrationSummoner.summonRegistration(salt, daoURI,manager, contracts, data)
- Call
grantRole(role, address)
on 0xFe89cc7aBB2C4183683ab71653C4cdc9B02D44b7, the registration contract deployed by Call 1
New clones are deployed to predictable addresses using the message sender and a bytes32 value combined as a salt.
Roles and Access Control
There are only two actions possible in the registration contract: (1) changing daoURI and (2) changing the role structure.
A manager can modify the daoURI but not the roles while an admin can modify both the daoURI & the role structure.
During registration, admin roles are granted to the ENS Timelock and the MetaGovernance WG multi-sig. A manager role is granted to Joshua Tan (thelastjosh.eth) of DAOstar.
Deployment Details
The registration factory contract is deployed to nearly all EVM chains. The mainnet address is 0x37dF3fC47C1c3A2acaFd2Dad9c1C00090a8655Bc.
The factory uses a clone proxy pattern with a template registration contract deployed to 0x4aCd31Edc93adB1Cf08FFBCf4097bd61f4A824f6. New clones are deployed to predictable addresses using the message sender and a bytes32 value combined as a salt.
Transactions
Address | Value | Function | Arguments | Value |
---|---|---|---|---|
0x37dF3fC47C1c3A2acaFd2Dad9c1C00090a8655Bc | summonRegistration | salt, daoURI, manager, contracts, data | 0x42, daoURI (TBD), 0x356bd1169A2b94B5a3C9D9F356FA5D35E584A521, {}, {} | |
0xc4f4474f8cd63091d416d04d2b95fa1a0f01a2f1 | grantRole | role, address | 0x0000000000000000000000000000000000000000000000000000000000000000, 0x91c32893216dE3eA0a55ABb9851f581d4503d39b |