{"id":19319687,"url":"https://github.com/blockcoders/dotocracy-contracts","last_synced_at":"2025-10-08T22:38:15.619Z","repository":{"id":103399911,"uuid":"564029491","full_name":"blockcoders/dotocracy-contracts","owner":"blockcoders","description":null,"archived":false,"fork":false,"pushed_at":"2022-11-17T13:14:44.000Z","size":1197,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-08T16:06:12.592Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blockcoders.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-09T20:58:56.000Z","updated_at":"2022-11-10T00:32:44.000Z","dependencies_parsed_at":"2023-07-02T00:16:28.329Z","dependency_job_id":null,"html_url":"https://github.com/blockcoders/dotocracy-contracts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/blockcoders/dotocracy-contracts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockcoders%2Fdotocracy-contracts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockcoders%2Fdotocracy-contracts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockcoders%2Fdotocracy-contracts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockcoders%2Fdotocracy-contracts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blockcoders","download_url":"https://codeload.github.com/blockcoders/dotocracy-contracts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockcoders%2Fdotocracy-contracts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000782,"owners_count":26082851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T01:24:48.983Z","updated_at":"2025-10-08T22:38:15.597Z","avatar_url":"https://github.com/blockcoders.png","language":"TypeScript","readme":"# Dotocracy contracts\n\nThe process by which this community makes decisions is called on-chain governance, and it has become a central component of decentralized protocols, fueling varied decisions such as parameter integrations with other protocols, treasury management, grants, etc\n\n## Ticket\n\nThe voting power of each account in the governance setup will be determined by an ERC721 token. The token has to implement the ERC721Votes extension. This extension will keep track of historical balances so that voting power is retrieved from past snapshots rather than current balance, which is an important protection that prevents double voting.\n\nThought to have a fast way of bootstraping projects with best practice's in mind. Having linters, prettiers, standards on how to commit, and changelog creation \u0026 maintenance.\n\n## Ballot\n\nThe core logic is given by the Governor contract, the user will choose: how voting power is determined, how many votes are needed for quorum, what options people have when casting a vote and how those votes are counted, and what type of token should be used to vote. Each of these aspects are customizable.\n\n## Setup\n\n```bash\n# Install dependencies\nyarn install\n# Copy Env example file\ncp .env.example .env\n```\n\n## Tools\n\nThis project includes:\n\n- [Hardhat](https://hardhat.org/)\n- [Solhint](https://github.com/protofire/solhint)\n- [Prettier](https://github.com/prettier-solidity/prettier-plugin-solidity)\n- [Coverage](https://github.com/sc-forks/solidity-coverage)\n- [Gas reporter](https://github.com/cgewecke/hardhat-gas-reporter/tree/master)\n- [Commitlint](https://github.com/conventional-changelog/commitlint)\n- [Standard version](https://github.com/conventional-changelog/standard-version)\n\n---\n\n## Commands\n\n### **Coverage**\n\n```bash\nyarn coverage\n```\n\nRuns solidity code coverage\n\u003cbr/\u003e\n\n### **Fork**\n\n```bash\nyarn fork\n```\n\nRuns a mainnet fork via hardhat's node forking util.\n\n```bash\nyarn fork:script {path}\n```\n\nRuns the script in mainnet's fork.\n\n```\nyarn fork:test\n```\n\nRuns tests that should be run in mainnet's fork.\n\u003cbr/\u003e\n\n### **Lint**\n\n```bash\nyarn lint:check\n```\n\nRuns solhint.\n\u003cbr/\u003e\n\n### **Prettier (lint fix)**\n\n```bash\nyarn lint:fix\n```\n\nRuns prettier\n\u003cbr/\u003e\n\n### **Release**\n\n```bash\nyarn release\n```\n\nRuns standard changelog, changes package.json version and modifies CHANGELOG.md accordingly.\n\u003cbr/\u003e\n\n### **Gas report**\n\n```bash\nyarn test:gas\n```\n\nRuns all tests and report gas usage.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockcoders%2Fdotocracy-contracts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblockcoders%2Fdotocracy-contracts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockcoders%2Fdotocracy-contracts/lists"}