Over the past year, there were multiple situations with Aragon voting UI being unavailable or dysfunctional at the times of ongoing DAO votings. It is critical to have a UI-friendly fallback option in the form of Lido's own resilient voting UI app.
The proposed UI consists of one essential page with a limited set of actions available.
The required functionality includes:
- accessing specific voting outside of Aragon voting UI
- getting on-chain details related to specific voting by voting ID (status, voting results, voting start/end date, parsed EVM script)
- connecting wallet (similar to Lido on Ethereum staking widget)
- casting vote (Yes/No)
- Node.js v12+
- Yarn package manager
This project requires an .env file which is distributed via private communication channels. A sample can be found in .env.sample.
- Node.js v16.20.1
- Yarn package manager v1.22.19
Step 1. Copy the contents of .env.sample to .env.local
cp .env.sample .env.localStep 2. Fill out the .env.local. You will need to provide RPC provider urls with keys included.
Step 3. Install dependencies
yarn installStep 4. Start the development server
yarn devNote! Avoid using NEXT_PUBLIC_ environment variables as it hinders our CI pipeline. Please use server-side environment variables and pass them to the client using getInitialProps in _app.js.
Note! This repo uses automatic versioning, please follow the commit message conventions.
e.g.
git commit -m "fix: a bug in calculation"
git commit -m "feat: dark theme"
yarn build && yarn startTo create a new release:
- Merge all changes to the
mainbranch. - After the merge, the
Prepare release draftaction will run automatically. When the action is complete, a release draft is created. - When you need to release, go to Repo → Releases.
- Publish the desired release draft manually by clicking the edit button - this release is now the
Latest Published. - After publication, the action to create a release bump will be triggered automatically.