Skip to main content

DAO governance tools for CurveDAO.

Project description

Example

import boa
import curve_dao

contract = 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

curve_dao-1.0.8.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

curve_dao-1.0.8-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file curve_dao-1.0.8.tar.gz.

File metadata

  • Download URL: curve_dao-1.0.8.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.4

File hashes

Hashes for curve_dao-1.0.8.tar.gz
Algorithm Hash digest
SHA256 8c54e7db994e66fedf3fb3017a1156a40bbe1f152f42728658e56cb256861096
MD5 d4c2d054305dfd0e3197f7aa208588d0
BLAKE2b-256 69da89fa046ea2f73313a4e6503c5a82395cda7db0c0e240338d0d837824814e

See more details on using hashes here.

File details

Details for the file curve_dao-1.0.8-py3-none-any.whl.

File metadata

  • Download URL: curve_dao-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.4

File hashes

Hashes for curve_dao-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 3b17c5856a8f6817f821a887f09c63f50c614d22d4cacbce887e6ef013c1e633
MD5 cea14a02b28f3ce63c4bfc64f5e044d4
BLAKE2b-256 b9f68e5d05a4b5c3ece81f05b43c9e1b56ea66642e18ec0046b00210711c250c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page