stacksgov / grants-program

Archive of past Stacks Foundation grant applications. Historical record of ecosystem development.
https://stacks.org/grants
141 stars 36 forks source link

StackerDAOs M2 (Extension of First Application) #239

Closed orlandobtc closed 2 years ago

orlandobtc commented 2 years ago

Background This application is a continuation of our first grant application: https://github.com/stacksgov/Stacks-Grants/issues/209. Please refer to that initial application for more background information.

Crypto has unlocked the ability for digital communities to easily, trustlessly, and premissionlessly coordinate socially and financially. DAOs have emerged as the primary web3 vehicle to do so. But there is little DAO infrastructure on Stacks. Stacks NFT communities particularly have sought to form DAOs in order to have their community help fund various causes. As Stacks continues to grow, we are starting to see demand for DAOs for different types of use cases as well.

StackerDAOs is developing DAO tools and solutions, including smart contracts, so that anyone can easily form, raise funds for, and manage a "StackerDAO"--an off-the-shelf DAO run by the StackerDAOs protocol (the series of smart contracts that we are developing).

By facilitating and lowering the barriers of social and financial coordination, StackerDAOs is providing the infrastructure through which communities can easily allocate capital. This will broaden and diversify the pool of recipients of capital by expanding allocators of capital beyond traditional grant-giving organizations and investment funds.

Project Overview We are building smart contracts to enable on-chain DAO functionality on Stacks. We are starting with an NFT product that will serve NFT projects that wish to form a DAO and use a percentage of their proceeds to fund a cause. More information can be found in our initial application: https://github.com/stacksgov/Stacks-Grants/issues/209.

Scope We are developing a StackerDAOs protocol--a series of smart contracts that will allow anyone to form, raise funds for (whether via NFTs or direct token contributions), and manage an "off-the-shelf" DAO--a StackerDAO. We will also incorporate various DeFi related proposal smart contracts to allow DAOs to engage in yield generating activity, such as stacking, deploying funds in various DeFi protocols, etc.

For purposes of this M2, we will be successful if we deploy the contracts listed below to Testnet.

Budget and Milestones

M2: NFT StackerDAO Product on Testnet (2 months)

SOW: We will deploy a series of contracts on testnet to form a DAO with basic voting functionality from an NFT project (an NFT StackerDAO product).

Deliverables:

By the end of M2 we will deploy the following contracts on testnet:

  1. DAO v2 Contract: Upgrade to add multisig and on-chain voting functionality (via proposal contracts, which are discussed more below) and allow multisig rules/parameters to be altered by the DAO Multisig Rules Proposal Contracts (discussed below).

  2. DAO Treasury v2 Contract: Upgrade to be compatible with DAO v2 Contract.

  3. DAO Multisig Rules Proposal Contracts (these will be different contracts): Allows for multisig signers to change several parameters of the multisig via on-chain voting, including: (1) quorum--what % of the total multisig signers must vote for a proposal to be accepted; (2) once a quorum is met, what % of total voters must approve the proposal; (3) the total number of mutisig signers; and (4) who is a multisig signer.

  4. DAO On-Chain Discussion Proposal Contract: Discussion proposals are for DAO actions that do not involve on-chain functionality. This contract will allow DAO members to vote on-chain and provide DAOs with the option to record voting results for a proposal on-chain as a permanent record.

  5. DAO Token Send Proposal Contract: Allows on-chain voting functionality to send tokens from the DAO to other addresses.

  6. DAO CityCoins Stacking Proposal Contract: Allows on-chain voting functionality to stack the DAO's CityCoins.

(Note that for the proposal contracts, we are exploring two proposal execution methods: (1) the proposals are self-executing after a certain block height when they are approved; or (2) after the proposal is approved, any one multisig signer could execute the proposal. Also, we expect the proposal contracts to require a significant amount of testing given potential edge cases and the lack of on-chain functionality currently on Stacks to use as precedent)

Further, for M2, we will build a simple UI so that users could interact with the DAO contracts intuitively/easily. Without a UI, users would have to use the Explorer to execute these contracts--barring users who are not that technically sophisticated.

Additionally, we will be researching and working on the following during M2, however we may not be able to deploy them on testnet until M3:

  1. DAO Stacking STX Proposal Contract (receive STX): A contract that will allow a DAO to, via on-chain voting, stack STX in a stacking pool that returns STX (such as Friedger pool). While we may potentially be able to deploy this contract on testnet by the end of M2, given the complexities of stacking and stacking pools, we may not be able to do so until M3.

  2. DAO Stacking STX Proposal Contract (receive BTC): A contract that will allow a DAO to, via on-chain voting, stack STX and receive BTC. We have begun to research native Bitcoin functionality and have spoken to two DeFi projects in stealth mode that are working to incorporate native Bitcoin functionality into DeFi primitives for our initial research. We will explore various ways during M2 to develop this contract. As of right now, we think the most likely solution is to incorporate xBTC--stacking pool sends BTC to a tokensoft/Anchorage address, they mint xBTC against it, and send the xBTC to the DAO treasury. However, we need to further explore the technical and legal issues with this approach and will continue to explore other approaches as well (especially more decentralized solutions). Given this complexity, we think we will not be able to deploy this contract on testnet until M3.

  3. DAO funding using native Bitcoin: The ability for a DAO to raise funds by having a DAO member send native Bitcoin. Similar to the stacking proposal contract above, we think that the most likely solution will be to incorporate xBTC--allow the DAO member to send BTC natively to a tokensoft/Anchorage address, they mint xBTC against it, and send the xBTC to the DAO treasury. However, the same issues apply.

Estimated time: 2 months

Total Grant Request: $50,000

This amount will be used to pay:

  1. A back-end engineer to assist with developing and testing the smart contracts.
  2. A front-end engineer to assist with developing the UI.
  3. A designer for the UI.
  4. Ryan and I for our work on all of the deliverables.

Team I, Orlando Cosme (lead project manager), and Ryan Waits (lead developer) will continue to be the initial team. However, we will also hire three other individuals to assist with the back-end, front-end, and design (these individuals are TBD). Please see our initial application for more information about Ryan and I: https://github.com/stacksgov/Stacks-Grants/issues/209.

Risks Please see our initial application for more information: https://github.com/stacksgov/Stacks-Grants/issues/209.

Community and Supporting Materials Please see our initial application for our previous work: https://github.com/stacksgov/Stacks-Grants/issues/209.

Additionally, the StackerDAOs Twitter account has received very positive community engagement: https://twitter.com/StackerDAOs.

stx-grant-bot[bot] commented 2 years ago

Thanks for submitting a grant proposal. Our team will review your submission and get back to you.

will-corcoran commented 2 years ago

Thanks for submitting a grant application! Due to the holiday break, grant reviews are currently on hiatus and will resume on January 5th. In the meantime, we encourage you to continue to share and get feedback on your application from the community.

will-corcoran commented 2 years ago

@orlandobtc and Ryan, thanks for meeting with us this morning. After we met we talked internally and would like to proceed with awarding you a grant that is reduced in scope and funds. We feel the success of StackerDAO hinges on high quality smart contracts and a committed community. As such, we would like to award you $30k to develop the (6) smart contracts you’ve identified and launch/grow a discord server. We believe that once you’ve had a chance to develop these items and engage a larger (hopefully vested) group of people in your project you will have a much better idea of which features you need to develop as part of another grant. Right now, we feel $50k is too much money to award and would like to proceed in this manner so as to best de-risk that final phase.

Please let us know your thoughts.

Best, Will

orlandobtc commented 2 years ago

Thanks, Will. Understood. That sounds good to us, and we will accept the modified scope and funds. Thank you!

will-corcoran commented 2 years ago

@orlandobtc Excellent! Glad you are amenable to this arrangement. We can't wait to see these contracts and community come to life!

stx-grant-bot[bot] commented 2 years ago

Congratulations. Your grant is now approved. Please complete the on-boarding link here: https://stacks-grant.netlify.app/onboard?q=541095e2984286af13f9a6ab4e7c7e58

will-corcoran commented 2 years ago

@orlandobtc can you please provide an update on this issue.

orlandobtc commented 2 years ago

Hi Will,

Our contracts are completed and we are currently thoroughly testing them. We also have community members currently reviewing them. We are continuing to work on the community building aspect of the project scope. Our current expectation is that we will be able to provide all of the deliverables for this grant in ~2-3 weeks.

Best, Orlando

On Sun, Mar 20, 2022 at 8:55 AM Will Corcoran @.***> wrote:

@orlandobtc https://github.com/orlandobtc can you please provide an update on this issue.

— Reply to this email directly, view it on GitHub https://github.com/stacksgov/Stacks-Grants/issues/239#issuecomment-1073245380, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWCDVI56T3CEP7BNFEBMCHLVA4N37ANCNFSM5KPKSVXQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

-- Orlando Cosme, Jr. @.*** | (631) 882-8086

will-corcoran commented 2 years ago

Hello and thank you for participating in the Stacks Foundation Grants Program!

We are in the process of migrating from GitHub to the new Grants Dashboard. In order to complete your grant, you will need to submit any remaining Progress Review and/or Final Review requests through the Dashboard in order to receive your remaining payments.

Lastly, please note we are marking this grant 'closed' on GitHub for organizational purposes, but it is still 'open' on the Grants Dashboard.

Thanks and we hope to continue to support your efforts with additional grants!

Best, Will