Aragon Q4 Development Update
The progress of development from the fourth quarter of 2018
The fourth quarter of 2018, spanning the months of October to December, was all about shipping, iterating, and then more shipping. The period also coincided with many breakthroughs on our research, from scalable on-chain voting to a crystallization of the first version of the Aragon Network. The results have helped guide the Aragon project’s product roadmap as well as the Flock proposals of Aragon One and the Aragon DAC.
Aragon 0.6 and aragonOS 4
Both the Aragon 0.6 release, named Alba, and the latest iteration of aragonOS saw the light of day. See previous posts for the Aragon client and aragonOS 4 for in-depth announcements.
The huge spike in completed progress of Aragon 0.6 as DevCon IV neared.
After the release of Aragon 0.6, the team at Aragon One took time to gather all the user feedback and UX issues. Afterward, some unexpected behavior with the Mainnet contracts was discovered. Thus we released three incremental updates to the client: 0.6.0-hotfix, 0.6.1, and 0.6.2.
0.6.0-hotfix
- An important hotfix to patch an infinite loop that caused the app to crash during organization on-boarding for some users
0.6.1
- Support for AGP-1
- A number of animation improvements and bug fixes
0.6.2
- Initial support for EIP-1102 (privacy mode for Ethereum providers)
- Organization switcher, allowing you to browse and bookmark multiple organizations
- Completely redesigned radspec descriptions in the signing panel. This greatly improves the description of a proposed on-chain action
- Many clarification improvements and bug fixes. including properly handling the DS-Token (e.g. DAI) edge case of how symbols and names are reported
Luis also put on his developer hat and did a few quick iterations to stabilize a desktop version of Aragon 0.6. Thus a truly decentralized, user-friendly way will become available for the users of Aragon. The work continues towards launching this alongside the web client.
The following packages used by the Aragon client were also updated and published
- See aragonOS 4 announcement blog post for details
2.0.0 to 2.0.3
- Migration to solidity pragma 0.4.24
0.20.0 to 0.27.0
- Major dependency upgrades. 0.27.0 now being the last to support styled-components@3 and react-springs@5
- Added Checkbox, IdentityBadge, Popover, TabBar, Timer, TransactionBadge, and ToastHub components
- Redesigned RadioButton and RadioGroup components with accessibility in mind
- Migration began to Lorikeet UI. Join the Lorikeet chat if you’re interested in helping shape its future!
- Released beta versions of the client-side middleware (@aragon/wrapper). Included large performance improvements and bug fixes
- Significant in-progress work to upgrade dependencies and release a stabilized version
dao-kits
- Migration of the token democracy and multisig kits to aragonOS 4
- Creation and deployment of AGP-1 kit
- Added functionality that allows organizations to be created in a single transaction
radspec
1.0.0 to 1.1.4
- Implemented boolean literals, more equality operators, and helper functions
Developer Experience
The Aragon DAC led the charge this quarter, representing Aragon at ETHSingapore. Thanks to everyone who participated, especially those who decided to build with Aragon and got awarded prizes! We always enjoy meeting people who are new to the ecosystem or the Aragon stack, and hope to see you again at future events as well as online :)
The DAC continued to focus on advancing the developer experience of the ecosystem. Significant efforts were made to improve the documentation and developer tooling with the support of Aragon One.
Aragon Developer Portal
- A complete sweep-through to clarify, improve, and reword many sections
- Updated tutorial to make it easier to follow for newcomers
- Added aragonOS 4 reference documentation and migration guides
5.1.0 to 5.2.2
- Significantly improved the feedback and information from the publishing flow to aragonPM
- Added support for calculating transaction paths when installing and upgrading apps if the account used with the CLI doesn’t have direct permissions to do so
- Added support for use with the Frame interface
- Improved debug logging, to troubleshoot cases where a command fails unexpectedly
- Initiated updates to the app boilerplates
- Numerous bug fixes and UX improvements
- Initiated implementation of the simplified interfaces for app developers
Research
- Described a challenge with the cost and scalability of on-chain voting. Proposed EVM Storage proofs as a foundational element of a secure layer 2 voting protocol.
- There was discussion around enabling arbitrary actions from Aragon Organizations. This could be achieved by creating a superset of the existing Vault app and pairing it with the signing provider infrastructure.
- Continued to work towards a staking solution for Agreements and the Aragon Court.
- Did a technical exploration of Identity and Organization Membership. Analyzed how could the capability and usability of Aragon improve with it.
Payroll
On-chain automated payrolls are a step closer to reality after last quarter!
Building off of the work of Aragon One from Q2, Protofire took on the responsibility of updating the contracts and building the front-end. As their name implies, they’ve been on fire in Q4. They completed most of the development required for audits. This is a first step for the app to be used by Flock teams like Aragon One.
There’s no timeline set yet on when the Payroll app will be available to the public. But this is an exciting use case that we want to test as soon as possible before recommending to others.
Other Highlights
Website redesigns
Delfi has done an incredible job since joining Aragon One at the start of the quarter! She's given a facelift to many of the project’s websites and blogs. These include aragon.org, blog.aragon.org, transparency.aragon.org.
Max has also built a new landing page for the Aragon DAC!
Bug bounty launched
A Mainnet bug bounty for the smart contracts supporting Aragon 0.6 is live. Please visit the bug bounty wiki page for more information about what’s in scope and how to report any findings.
aragonPM deployments
As part of the 0.6 launch, Aragon One did a significant overhaul on both the deployment process of applications to aragonPM as well as how uptime is ensured for the web assets on IPFS. Check out the redone deployments repository for more information as well as an audit trail of the deployments.
All Aragon Devs calls
Coordination between Flock teams and developers in the community has been ongoing in bi-weekly all devs calls. Find out more about these calls, as well as how to join, in its wiki page.
Aragon.chat
An emphasis has been placed towards publicizing all development-related chat from Flock teams. The #design, #dev, #dev-evm, #dev-frontend, #dev-help & #feedback channels are where these discussions are taking place. We welcome everyone to join in or take a look!
Contributions
We always appreciate community contributions, so a big thank you to all the community members who contributed during Q4! We could not have done this without you!
- aragon-apps
- Packs certain uint256s into uint64 to save gas
- Rename setPaymentDisabled to setPaymentStatus
- Rename Payment to RecurringPayment
- aragon-apps
- Token-manager: use bn.js
- aragonUI
- Make publicUrl a required prop
- aragonCLI
- Pin ganache-core to v2.2.1
- aragonUI
- Add Checkbox
- aragon/aragon
- Add JSDoc to web3-utils
- aragon.js
- Wrapper: new API for init() and initAccounts()
- aragon/aragon
- Updated planning suite name and URL
- design
- Nested organizations
- aragonCLI
- Pin IPFS to v0.4.17
- hack.aragon.org
- Fix code snippet variable naming mismatch in os-building.md
- aragonUI
- Add ToastHub component
- aragonUI
- Add Timer component
mul53
- aragon/aragon
- Migrate to react-spring
- aragon/aragon
- Readme: added links for acronyms