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.6.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

curve_dao-1.0.6-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: curve_dao-1.0.6.tar.gz
  • Upload date:
  • Size: 6.7 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.6.tar.gz
Algorithm Hash digest
SHA256 618278e9bd20a2e146a3bd76553fb0f1b7683fe0841762a98b402a618e2c8408
MD5 610ffdfdf994fe32714a40ba1efa7be7
BLAKE2b-256 ddc96832f0158f8272ad9c75d4873200cc48da4bb2bd5110a6b912eafb51e648

See more details on using hashes here.

File details

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

File metadata

  • Download URL: curve_dao-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 6.9 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 111445a612183947414ae60b52b9a826eb78a8c8b9a14884c7b422b26b910407
MD5 d4b5beb6d64ea371f3635bacea203fa7
BLAKE2b-256 3f55b3586eb34fcba2b72997ec58769a47b241862cd772fb8da4d9ddaf09017c

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