UPGRADING DAO CONTRACTS

WHO: Contract updates should be diccussed and planned in community calls. Public Haus DAO safes signers will need to execute upgrade transactions.

HOW OFTEN: As needed.

ABOUT

The DAO Summoner facotry contract inheirits Open Zepplin's OwnableUpgradeable and UUPSUpgradeable contracts. The owner of each contract is a gnosis safe on each supported chain.

Common upgrades

  • The Summoner reference singleton contracts as the templates for the base governance, gnosis safe and token contracts when it deploys new DAOs. The most common upgrades in the past have been changes to the singleton the Summoner references.
  • Adding a salt nonce param to the summon function so the safe address could use createProxyWithNonce and be predicted before summoning.

Owner safes can be found for each summoner with the owner function:

HOW TO

  1. Make code updates
  1. Deploy new singletons related to the changes made to all supported networks.

  2. Create the multisig transaction to upgrade the factory

  • Use Safe transaction Builder upgradeTo use new upgraded deployment address
  • Have other signers audit and verify before execution
  1. Confirm contract upgrade has changes and is verified on explorer

  2. Update documentation

  • Addresses in github and these docs.