Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bout3fiddy/curve-dao
Python tools for CurveDAO Governance
https://github.com/bout3fiddy/curve-dao
Last synced: 16 days ago
JSON representation
Python tools for CurveDAO Governance
- Host: GitHub
- URL: https://github.com/bout3fiddy/curve-dao
- Owner: bout3fiddy
- Created: 2024-04-23T15:23:10.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-04-23T19:02:53.000Z (9 months ago)
- Last Synced: 2024-04-24T18:35:15.926Z (9 months ago)
- Language: Python
- Size: 64.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Example
```python
import boa
import curve_daocontract = boa.load("contracts/contract.vy",
curve_dao.get_address("ownership"), curve_dao.get_address("param"), curve_dao.get_address("emergency"), # Set admins
)
ACTIONS = [
("0xcontract", "set_something", ("values",), 70, "set"), # 0xcontract.set_something(("values",), 70, "set)
(contract, "enact"), # contract.enact()
]
DESCRIPTION = "Enact something"
vote_id = curve_dao.create_vote("ownership", ACTIONS, DESCRIPTION,
etherscan_api_key=os.environ["ETHERSCAN_API_KEY"], pinata_token=os.environ["PINATA_TOKEN"])
if is_simulation: # forked environment
curve_dao.simulate(vote_id, "ownership", etherscan_api_key=os.environ["ETHERSCAN_API_KEY"])
```# What is this?
Simple python package to simulate on-chain CurveDAO proposals and publish proposals for DAO voting on-chain.
# Who needs this?
veCRV holders looking to create on-chain proposals such as
- Creating or killing Curve DAO gauges that reward CRV inflation to addresses (liquidity pools or otherwise).
- Creating a smartwallet whitelist to lock veCRV (veCRV restricts smart contracts to lock CRV, subject to a DAO whitelist vote)
- Changing liquidity pool parameters
- Adding gauge types ...
- ... etc.Curve DAO stakeholders have the ability to change the protocol in many ways. This repository is an attempt to consolidate all on-chain DAO operations into a single tool.
# How does one install it?
`pip install curve-dao`
# How does one contribute?
1. Fork + Pull Requests.
2. Create issues.
3. ...# How does one test?
`python -m pytest .`
# How does one build and publish?
1. Update codebase
2. Up version in pyproject.toml
3. `python -m build; python -m twine upload --repository pypi dist/* --verbose`