🌳Drafting, Exporting, and Deploying Tree Changes

How to propose changes in Edit Mode, export those changes to share with others, and deploy those changes through a multisig or DAO contract

Once a Hats tree has been created, you can use the app's Edit Mode to draft, share and/or deploy changes to the tree.

Drafting

Use Edit Mode to create new hats, give them a name and image, add wearers, specify powers & responsibilities, add modules to automate hat eligibility and revocation, enable hat-claiming and more.

In large tress, you can group hats together for a cleaner display by creating a parent hat with zero as its "max wearers" property.

You can create as many new hats and changes to the Hats tree as you’d like before deploying all changes in one transaction.

Deploying

After making changes in edit mode, you have the option to deploy the changes for which you have admin authorities*. If you are wearing the Top Hat, this means you'll be able to deploy all the changes immediately.

To deploy all other changes, you can:

  1. Export and share your proposed edits with others, and

  2. Provide the transaction calldata necessary to deploy those changes onchain

Both of these options are described below.

*Each hat is an admin of all other hats linked directly below it. Therefore, wearers of certain hats will be able to deploy changes to other mutable hats for which their hat is an admin. This includes minting both mutable and immutable hats to new wearers, and transfer mutable hats from one address to another. For more information about Admins in a Hats tree, click here.

Sharing

You can export the changes made in Edit Mode in order to share them with others. This is especially useful for sharing any changes for which you do not have the admin authority to deploy.

There are two options:

  1. Exporting a JSON file to save and share your changes with others.

  2. Exporting transaction Call Data in order to use in an onchain proposal.

Exporting & Importing a JSON to Share & View Changes

To share your suggested changes with others, click the β€œExport” button found in Edit Mode, as seen in the screenshot below. Others can then import this JSON file into the same tree to see all the changes you’ve created.

Exporting Call Data to Deploy Changes Onchain

To deploy changes via a DAO or multisig-controlled hat (e.g. a DAO contract wearing the top-hat), copy the transaction call data using the information found in edit mode as seen in the screenshot below.

You can then use your organization's governance interface to create a proposal, in which the target address is the Hats contract address and with the transaction Call Data as copied from the app.

We recommend including the associated JSON file in your proposal as well, so that others can review your changes directly within the Hats app by importing the JSON into the same tree and confirm the validity of the transaction.

Last updated