aragonOS
aragonOS copied to clipboard
[DO NOT MERGE] Disputable: Move set agreement to Kernel
This PR moves the setAgreement
security check to the Kernel, allowing us to define Agreement<>Kernel permissions instead of Agreement<>Disputable ones.
As an alternative implementation, we could introduce the concept of ANY_ADDRESS
for the where
value in the ACL, instead of hardcoding any knowledge about agreements in the Kernel.
It would work similarly to how ANY_ADDRESS
works for who
, basically giving a particular address permission over a certain role in any app in the organization. With that we could grant the Agreement instance permission to execute SET_AGREEMENT
in any app in the DAO.
This change in the ACL could be useful for other cases as well, such as setting permissions just once for the admin functions of an app that the DAO has multiple instances of (e.g. multiple Voting instances).