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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: curve_dao-1.0.9.tar.gz
  • Upload date:
  • Size: 6.6 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.9.tar.gz
Algorithm Hash digest
SHA256 c8f452aadb80912a167aaaa21c9efe6246bc3400828ac434a511ccb4a6679f7a
MD5 31ba5753231c385cafaa375b74945705
BLAKE2b-256 bda979deb63be14423b9a41e1b111262fee23c35999493beeeb67d9bf60c2ab0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: curve_dao-1.0.9-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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 db430dd275286b881c8dec055fa87149c77cf43b29d79598afb40a894067205c
MD5 1c839a24c5be9517c2293f37989e43ea
BLAKE2b-256 f70220daefc0b96f4b4671f6ffae6621e9991bf0860978921af72f9492ba6de5

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