{"id":29177882,"url":"https://github.com/gitcoinco/alpha-governor-upgrade","last_synced_at":"2025-07-01T18:09:04.556Z","repository":{"id":62179865,"uuid":"557432731","full_name":"gitcoinco/Alpha-Governor-Upgrade","owner":"gitcoinco","description":null,"archived":false,"fork":false,"pushed_at":"2023-08-11T14:56:22.000Z","size":124,"stargazers_count":13,"open_issues_count":2,"forks_count":8,"subscribers_count":13,"default_branch":"main","last_synced_at":"2024-04-15T13:43:14.110Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gitcoinco.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}},"created_at":"2022-10-25T17:20:42.000Z","updated_at":"2024-04-11T22:50:42.000Z","dependencies_parsed_at":"2023-02-19T10:00:29.267Z","dependency_job_id":null,"html_url":"https://github.com/gitcoinco/Alpha-Governor-Upgrade","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gitcoinco/Alpha-Governor-Upgrade","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitcoinco%2FAlpha-Governor-Upgrade","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitcoinco%2FAlpha-Governor-Upgrade/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitcoinco%2FAlpha-Governor-Upgrade/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitcoinco%2FAlpha-Governor-Upgrade/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitcoinco","download_url":"https://codeload.github.com/gitcoinco/Alpha-Governor-Upgrade/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitcoinco%2FAlpha-Governor-Upgrade/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263013739,"owners_count":23399815,"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","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":"2025-07-01T18:09:01.022Z","updated_at":"2025-07-01T18:09:04.548Z","avatar_url":"https://github.com/gitcoinco.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gitcoin Governor Bravo\n\nAn upgrade to a \"Bravo\" compatible Governor for the GitcoinDAO, built using the OpenZeppelin implementation and [Flexible Voting](https://github.com/ScopeLift/flexible-voting).\n\n## Development\n\n### Foundry\n\nThis project uses [Foundry](https://github.com/foundry-rs/foundry). Follow [these instructions](https://github.com/foundry-rs/foundry#installation) to install it.\n\n\n#### Getting started\n\nClone the repo\n\n```bash\ngit clone git@github.com:gitcoinco/2022-Governor-upgrade.git\ncd 2022-Governor-upgrade\n```\n\nCopy the `.env.template` file and populate it with values\n\n```bash\ncp .env.template .env\n# Open the .env file and add your values\n```\n\n```bash\nforge install\nforge build\nforge test\n```\n\n### Formatting\n\nFormatting is done via [scopelint](https://github.com/ScopeLift/scopelint). To install scopelint, run:\n\n```bash\ncargo install scopelint\n```\n\n#### Apply formatting\n\n```bash\nscopelint fmt\n```\n\n#### Check formatting\n\n```bash\nscopelint check\n```\n\n## Scripts\n\n * `script/Deploy.s.sol` - Deploys the GitcoinGovernor contract\n * `script/Propose.s.sol` - Submits a proposal to the existing Gitcoin Governor Alpha proposing migration to the GitcoinGovernor. Must be executed by someone with sufficient GTC delegation.\n\n To test these scripts locally, start a local fork with anvil:\n\n ```bash\n anvil --fork-url YOUR_RPC_URL --fork-block-number 15980096\n ```\n\n Then execute the deploy script.\n\n _NOTE_: You must populate the `DEPLOYER_PRIVATE_KEY` in your `.env` file for this to work.\n\n ```bash\n forge script script/Deploy.s.sol --tc DeployScript --rpc-url http://localhost:8545 --broadcast\n ```\n\n Pull the contract address for the new Governor from the deploy script address, then execute the Proposal script.\n\n _NOTE_: You must populate the `PROPOSER_PRIVATE_KEY` in your `.env` file for this to work. Additionally, the\n private key must correspond to the `proposer` address defined in the `Proposal.s.sol` script. You can update this\n variable to an address you control, however the proposal itself will still revert in this case, unless you provide\n the private key of an address that has sufficient GTC Token delegation to have the right to submit a proposal.\n\n ```bash\nforge script script/Propose.s.sol --sig \"run(address)\" NEW_GOVERNOR_ADDRESS --rpc-url http://localhost:8545 --broadcast\n ```\n\n## Dependencies\n\nThe Gitcoin Bravo governor inherits from `GovernorCountingFractional`, which is\ndefined in the [Flexible Voting](https://github.com/ScopeLift/flexible-voting)\nproject. This is done to enable:\n\n* partial voting (voting with less than full weight)\n* rolling voting (voting multiple times on the same proposal with partial weight)\n* split voting (splitting vote weight across against/for/abstain options)\n\nWe use the `v1.0.0` tag of Flexible Voting because this was the version audited by\nOpen Zeppelin.\n\nAdditionally, this project depends on [Open Zeppelin's contracts\nlibrary](https://github.com/OpenZeppelin/openzeppelin-contracts/). However,\nbecause of [an open issue in foundry](https://github.com/foundry-rs/foundry/issues/1855),\nwe are currently sourcing the OZ library from within the Flexible Voting dependency.\nFlexible Voting [uses\nOZ](https://github.com/ScopeLift/flexible-voting/tree/4399694c1a70d9e236c4c072802bfbe8e4951bf0/lib)\ntagged at [v4.8.0](https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.8.0). (Note that an alternative solution would be to install OZ in this repo like normal, and just reference it with relative paths instead of absolute paths).\n\nAt the time of writing (March 28 2023) [there are no\nchanges](https://github.com/OpenZeppelin/openzeppelin-contracts/compare/49c0e43...d00acef) to any of the OZ\ncontracts used by this repository between v4.8.0 and the [latest\nrelease, v4.8.2](https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.8.2).\n\n## License\n\nThe code in this repository is licensed under the [GNU Affero General Public License](LICENSE) unless otherwise indicated.\n\nCopyright (C) 2023 Gitcoin Core\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitcoinco%2Falpha-governor-upgrade","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitcoinco%2Falpha-governor-upgrade","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitcoinco%2Falpha-governor-upgrade/lists"}