0

I am looking to chain different actions one after the other when a proposal is approved in my DAO.

For example - "When my proposal is approved, I want to

  1. Exchange 10 USD for ETH
  2. Use that new ETH and stake it
  3. Then use that stETH to submit a defi loan."

1 Answer 1

0

With the aragonOSx protocol, you can chain actions, but not chain them with dynamic, dependent content. So - you can say, perform action A, action B, and action C when a proposal passes. BUT - you can't say, perform action A, and when that's done, grab that variable, and place it to do action B, then use that new output to do action C

This design allows plugins to execute a predefined and static list of actions. This is intentional, so that non-tech-savvy community members can clearly understand what will happen before they approve a proposal.

If we open the door to dynamic execution, it would be easy for malicious actors to craft confusing proposal executions that go to some random contract, forge a dynamic payload and execute it with the privileges of the DAO.

From a technician perspective, it's an exciting feature. But from a human-centric perspective, we need to provide as much clarity as possible.

A couple of scenarios:

  1. You want to install a plugin with a certain configuration, that depends on the given parameters: To allow for this, every plugin has the Plugin contract itself and a PluginSetup, in which developers program any kind of "install script" that they need. Same for updates and uninstalling.

Example: https://github.com/aragon/core/blob/develop/packages/contracts/src/plugins/governance/majority-voting/token/TokenVotingSetup.sol#L85

The install scripts are 100% known ahead of time. You know what prepareInstallation(...) will do.

  1. You want to execute a complex chain of operations: In this case, you probably want to use a governance plugin along with a Helper contract, which internally implements such complex logic. You request permission for the helper to do whatever it needs on the DAO, and people know ahead of time what this helper could do.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.