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.local
Step 2. Fill out the .env.local
. You will need to provide RPC provider urls with keys included.
Step 3. Install dependencies
yarn install
Step 4. Start the development server
yarn dev
Note! 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 start
To create a new release:
- Merge all changes to the
main
branch. - After the merge, the
Prepare release draft
action 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.