Skip to content

Releases: aragon/osx

Berlinite Release

05 Oct 11:25
e90ea8f
Compare
Choose a tag to compare

Summary

This is a low-priority release containing new features, patches, and low-severity bug fixes. Update at your convenience.

For technical details, see the Aragon OSx contracts changelog.

Audits

Code4rena: link 1, link 2
Halborn: link 1, link 2

Highlights

Reentrancy Protection and Gas Checks for the DAO Executor

In previous versions, the DAO executor was allowed to call itself. Such behavior is commonly found in other executor implementations (e.g., OpenZeppelin Governor or SAFE) too because the permission to execute is given only to trusted and vetted parties and contracts. Because DAOs created through the Aragon App frontend use audited contracts developed by Aragon itself and DAO proposals are subject to review, there is no risk exposure for Aragon OSx DAOs that have been created so far. However, since 3rd-party plugins will be easily installable to the DAO in the future, we followed the suggestion by Code4rena and added reentrancy protection to the DAO executor. Additionally, we have added checks to ensure that failure of the last action of a proposal cannot be intentionally caused by providing insufficient gas when it is explicitly allowed to fail is used.

Although rated as medium findings in the Code4rena audit report we believe that the risk exposure for DAOs is low.

Protocol Versioning for OSx Contracts

OSx contracts that changed compared to v1.0.0 now have an on-chain semantic versioning number indicating the OSx protocol version the contract is associated with. This number will be displayed on the frontend and help while supporting user requests.

Reworked Proposal Creation Criteria

Holders of governance tokens in the TokenVoting plugin can now create proposals too after they have delegated their tokens to someone else. Moreover, members of the Multisig plugin can now create a proposal in the same block in which they have become a member. Lastly, events emitted during proposal creation now contain the correct information.

Reworked Permission Conditions

The permission manager functionality related to permission conditions now has additional input checks and was slightly optimized. Permission condition contracts are now identifiable through ERC-165 and base contracts are provided for developers to use.

Solidity Compiler Pragma

In the prior release, the contracts were constrained by a stringent pragma, fixed at Solidity version 0.8.17. This limitation posed a hurdle for external developers seeking compatibility with newer Solidity versions. To enhance flexibility, the contracts external developers inherit from now allow inheritance from version 0.8.8 or higher, accommodating a broader range of Solidity versions.

All Changes

The following list contains all changes to the repository hosting also the subgraph and documentation.

Read more

Aventurine

05 Oct 11:24
c2b9d23
Compare
Choose a tag to compare

Summary

The initial release of the Aragon OSx protocol!

The Aragon OSx protocol is the foundation layer of the new Aragon stack. It allows users to create, manage, and customize DAOs in a way that is lean, adaptable, and secure.