# Morgoth DAO of DAOs

## Nomenclature

Morgoth is governed by roles. Each role is represented by a Minion from Tolkien's Legendarium. Governance actions are encapsulated in abstractions called Powers. The actual contracts to be governed are called Domains. The implementation of the powers are contracts called PowerInvokers. Each PowerInvoker expects precisely one domain contract.

\
Angband is the owner of all contracts. From Angband issues forth all actions. When a power invoker wishes to act on a domain, it must request temporary ownership from Angband for the duration of 1 transaction.

Minions are assigned powers and accounts are mapped to minions. The accounts can be either externally owned or contracts. For instance, suppose minion Gothmog has powers "UPDATE\_TOKEN" and "CONFIGURE\_SCARCITY". Then suppose that Gothmog is assigned to Bob. This means Bob now has the power to update tokens and configure scarcity. The intent of Morgoth is that each minion is controlled by a DAO.

## Steps to Govern

If a user wishes to perform a governance action, they can write a powerInvoker that attempts to act according to a registered power. They then pass the invoker to Angband. Angband requests the power being invoked from the invoker and checks if msg.sender is mapped to a minion which can execute the power. If so, Angband transfers ownership of the domain contract to the invoker and calls invoke(). After execution, Angband verifies that the invoker returned ownership of the domain contract to Angband. If not, all execution is reverted

## Distribution of powers.

At first the minion Melkor will have the power to create new powers. Over time, he is expected to 'pour' his power into other minions.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.behodler.io/user-docs/governance/morgoth-dao-of-daos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
