GithubHelp home page GithubHelp logo

borgbob / dao-contracts Goto Github PK

View Code? Open in Web Editor NEW

This project forked from da0-da0/dao-contracts

0.0 0.0 0.0 1.52 MB

CosmWasm smart contracts for InterChain DAOs.

Home Page: https://docs.daodao.zone

License: Apache License 2.0

Shell 0.83% Rust 97.86% TypeScript 1.32%

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.
stake-cw20 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.
stake-cw20-reward-distributor A contract for distributing rewards via stake-cw20.

Audited contracts have completed an audit 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_DAO_TOKEN_CODE_ID=1
NEXT_PUBLIC_DAO_CONTRACT_CODE_ID=2
NEXT_PUBLIC_MULTISIG_CODE_ID=3
NEXT_PUBLIC_C4_GROUP_CODE_ID=4
NEXT_PUBLIC_STAKE_CW20_CODE_ID=5
NEXT_PUBLIC_DAO_CONTRACT_ADDRESS=juno1wug8sewp6cedgkmrmvhl3lf3tulagm9hnvy8p0rppz9yjw0g4wtqwrw37d

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

jakehartnell avatar ben2x4 avatar 0xekez avatar callum-a avatar gavindoughtie avatar vernonjohnson avatar orkunkl avatar elsehow avatar 0xjame5 avatar noahsaso avatar blue-note avatar the-frey avatar lacercat avatar bmorphism avatar ebaker avatar maurolacy 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.