Giter Club home page Giter Club logo

dao-contracts's Introduction

DAO DAO Contracts

codecov

Audited contracts Description
cw-core The core module for a DAO DAO DAO.
cw-proposal-single A proposal module for single choice (yes / no) voting.
cw20-staked-balance-voting A voting power module for staked governance tokens.
cw4-voting A voting power module for multisig-style voting.
cw20-stake A contract for staking cw20 tokens.
Unaudited contracts Description
cw-named-groups A contract for managing named groups of addresses.
cw-proposal-sudo A proposal module that allows an admin to control a DAO.
cw20-balance-voting TESTING ONLY - a voting module based on cw20 balances.
proposal-hooks-counter TESTING ONLY - a contract for testing proposal hooks.
stake-external-rewards A contract for providing external stakinig rewards.
cw20-stake-reward-distributor A contract for distributing rewards via stake-cw20.
cw-proposal-multiple A proposal module for multiple choice proposals.
Audited contracts have completed [an
audit](https://github.com/securityDAO/audits/blob/7bb8e4910baaea89fddfc025591658f44adbc27c/cosmwasm/dao-contracts/v0.3%20DAO%20DAO%20audit.pdf)
by security DAO. A second audit is forthcoming.

Contributing

Interested in contributing to DAO DAO? Check out CONTRIBUTING.md.

Deploying in a development environment

Note: this will deploy the legacy version of the contracts currently running at daodao.zone.

Build and deploy the contracts to a local chain running in Docker with:

bash scripts/deploy_local.sh juno10j9gpw9t4jsz47qgnkvl5n3zlm2fz72k67rxsg

Note: This Wasm account is from the default account, which you can use for testing (DO NOT store any real funds with this account). You can pass in any wasm account address you want to use.

This will run a chain locally in a docker container, then build and deploy the contracts to that chain.

The script will output something like:

NEXT_PUBLIC_CW20_CODE_ID=1
NEXT_PUBLIC_CW4GROUP_CODE_ID=2
NEXT_PUBLIC_CWCORE_CODE_ID=7
NEXT_PUBLIC_CWPROPOSALSINGLE_CODE_ID=11
NEXT_PUBLIC_CW4VOTING_CODE_ID=5
NEXT_PUBLIC_CW20STAKEDBALANCEVOTING_CODE_ID=4
NEXT_PUBLIC_STAKECW20_CODE_ID=13
NEXT_PUBLIC_DAO_CONTRACT_ADDRESS=juno1zlmaky7753d2fneyhduwz0rn3u9ns8rse3tudhze8rc2g54w9ysqgjt23l
NEXT_PUBLIC_V1_FACTORY_CONTRACT_ADDRESS=juno1pvrwmjuusn9wh34j7y520g8gumuy9xtl3gvprlljfdpwju3x7ucssml9ug

You can then instantiate and interact with contracts.

Note, to send commands to the docker container:

docker exec -i cosmwasm junod status

Some commands require a password which defaults to xxxxxxxxx. You can use them like so:

echo xxxxxxxxx | docker exec -i cosmwasm  junod keys show validator -a

Generating schema for all contracts

As we have a workflow to check schema differences on commit, to quickly run cargo schema against all contracts simply run the following from the repo root:

./scripts/schema.sh

Disclaimer

DAO DAO TOOLING IS PROVIDED β€œAS IS”, AT YOUR OWN RISK, AND WITHOUT WARRANTIES OF ANY KIND. No developer or entity involved in creating the DAO DAO UI or smart contracts will be liable for any claims or damages whatsoever associated with your use, inability to use, or your interaction with other users of DAO DAO tooling, including any direct, indirect, incidental, special, exemplary, punitive or consequential damages, or loss of profits, cryptocurrencies, tokens, or anything else of value.

dao-contracts's People

Contributors

0xekez avatar 0xjame5 avatar ben2x4 avatar blue-note avatar bmorphism avatar borgbob avatar buckram123 avatar callum-a avatar cypherape avatar de-husk avatar ebaker avatar elsehow avatar gavindoughtie avatar jakehartnell avatar lacercat avatar maurolacy avatar noahsaso avatar orkunkl avatar the-frey avatar vernonjohnson avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.