Providing a project with a template for the files, folder structure, dependencies, scripting, configuration (local & remote) and development standards used in a Windranger Soldity project with TypeScript tests.
DAOs and treasury admins experience challenges delegating voting rights to their employees/communities. The current lack of tooling means doing so is a highly manual process that is:
- Time consuming: Both initial delegation and ongoing maintenance (accounting for new/departing DAOm members/delegates)
- Costly: High gas costs make delegation expensive and impractical in most scenarios
- Prone to mistakes: highly manual process that typically requires the admin to manually track information through spreadsheets, etc
Merkle roots smart contract for a negligible gas cost approach is an oracle-based one where delegations are collated into merkle trie nodes and the root is published on chain for every delegation cycle. In order to maintain trust for each update a changelog should be published along with instructions for individuals to be able to generate the merkle trie root from the data.
Development follows these processes outlined in development process
Start by cloning the git repo locally.
To retrieve the project dependencies and before any further tasks will run correctly.
npm ci
To enable Husky commit hooks to trigger the lint-staged behaviour of formatting and linting the staged files prior
before committing, prepare your repo with prepare
.
npm run prepare
npm run build
npm test
If you make changes that don't get picked up then add a clean into the process
npm run clean
npm run build
npm test
Setup and run instructions: