GithubHelp home page GithubHelp logo

crazyrabbitltc / comprfp Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 486 KB

A market for COMP Community Autonomous Proposals

License: BSD 3-Clause "New" or "Revised" License

Solidity 56.61% JavaScript 43.23% Shell 0.16%

comprfp's Introduction

Autonomous Proposal Markets

This is a fork of the Compound Autonomous Proposals that adds the ability to do a "Request for Proposal" with a bounty as an incentive.

The goal behind this idea is to create a market where governance experts can sell their talents to Liquidity Providers and other interested parties who might not have the expertise to craft COMP proposals in house.

With RFP anyone can set a bounty, create a description of what they are looking for, and publish a request. Providers can submit fully crafted executable COMP Governance proposals onchain, and the publisher of the RFP can award a winning proposal with the bounty and have it submitted to the Compound Autonomous Proposals contract where it can garnish vote support from the community.

This is untested and early proof of concept.

Created by Dennison Bertram

Autonomous Proposals

Compound Autonomous Proposals allow anyone with enough COMP stake (currently 100; subject to change) to create an autonomous proposal and gather public support by receiving delegations to the autonomous proposal contract.

The staked COMP tokens are locked into the autonomous proposal contract, and act as the first 100 votes for the future governance proposal.

Once the autonomous proposal reaches the governance proposal threshold (currently 100k votes; subject to change), anyone can call the propose method, setting it up for a public vote in the Compound Governance system.

One block after the proposal is created (or, longer if the delay parameter changes in the Governance system), anyone can call the vote function, casting FOR votes on the proposal.

After the successful proposal execution or if the autonomous proposal author doesn’t feel like the proposal will succeed, they can call the terminate method, terminating autonomous proposal and returning their staked COMP tokens.

Contracts

We detail a few of the core contracts in the Autonomous Proposals v1.0:

CrowdProposalFactory
The proposal factory contract, which creates autonomous proposals and transfer intitial staked COMP tokens to them with createCrowdProposal method.
CrowdProposal
The Autonomous Proposal contract that contains propose, vote and terminate methods.

Installation

To run autonomous proposals, pull the repository from GitHub and install its dependencies. You will need yarn or npm installed.

git clone https://github.com/compound-finance/autonomous-proposals
cd autonomous-proposals
yarn install --lock-file # or `npm install`

Testing

Jest contract tests are defined under the tests directory. To run the tests run:

yarn test

Deployment

To deploy autonomous proposal factory:

npx saddle deploy CrowdProposalFactory "COMP_address" "Governor_address" "100000000000000000000" --network ropsten

Discussion

For any concerns with the protocol, open an issue or visit us on Discord to discuss.

For security concerns, please email [email protected].

© Copyright 2020, Compound Labs

comprfp's People

Contributors

crazyrabbitltc avatar toninorair avatar

Stargazers

 avatar

Watchers

 avatar  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.