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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: curve_dao-1.0.1.tar.gz
  • Upload date:
  • Size: 6.0 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.1.tar.gz
Algorithm Hash digest
SHA256 5143b69d0c261bad80863ad48d364ec5a2d3d83bd8e7b3b47b9b3f8d7399a34d
MD5 886810c5905502f45e40fb72f9ed7784
BLAKE2b-256 d2c5f2e06a68e1b92d2eb69dcf01ff9ae87dada2b76efc0b6a4bdcc92bea0d24

See more details on using hashes here.

File details

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

File metadata

  • Download URL: curve_dao-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 19e8ff4643b937ace1c84677559b9bfd0d3bf57e021c21850d9523ea6103e4fb
MD5 56d91348e4745c9b3d2164a1208d41da
BLAKE2b-256 c1fbe428d73dd113df9fc5ec6e3f3cfa2672d8aec1cbd1a1f7484552a1e35e48

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