Skip to content

SweatEquityProject smart contract design

Ivelin Ivanov edited this page May 4, 2022 · 10 revisions

SweatEquityProject is a smart contract extension for KaliDAO that allows DAO members to delegate project management powers to a an on-chain address owner (e.g. wallet/person or multisig/committee). Typical interactions with SweatEquityProject are described in Budgeting and Contributor Rewards workflows.

SweatEquityProject derives properties from several other KaliDAO extensions: CrowdSale, Tribute and KaliShareManager.

For background here is a discord discussion on this topic with the KaliDAO team.

Properties reusable from CrowdSale are:

  1. Timeboxing of the project.
  2. Setting limit of DAO tokens that can be minted during the project.
  3. Delegating management to a WhiteListManager for people who can participate.

Properties reusable from Tribute:

  1. Allow contributors to submit NFT ownership in exchange for DAO sweat tokens.
  • Transfer of the NFT will signify transfer of ownership of the underlying IP and materials associated with the contribution.
  • The NFT will have metadata about the essence of the work and IP rights such as:

SweatEquityProject contract could work as follows:

  1. Extend WhiteListManager to ProjectManager.
  • It will specify the person (wallet address or multisig) elected by the DAO to manage the SweatEquityProject.
  1. Only whitelisted accounts (presumably contributors who the project manager invited to the project) can submit an NFT with proof-of-contribution.
  2. Tributes initiated by contributors will be gated by the project manager. Before a tribute is executed, it will require a project manager's approval.
  • For this we could potentially use EIP 4494 (permit for NFTs) to allow contributors to submit request and have project managers approve the swap with DAO tokens.
  • The tribute transaction will have a reference to the on-chain hash of the legal sweat equity agreement (e.g. Profit Interest grant or a Warrant).
  • Executing the tribute with signatures from the contributor and the project manager (as a delegate of the DAO) will constitute a legal transfer of services and IP in exchange for DAO(LLC) equity.
  • Note: here is a link to related thread with dework on their proof-of-work NFTs: https://discord.com/channels/918603668935311391/967206406426075187/967419120083673118
  1. For gas and effort optimization, a project manager may review and approve/reject a batch of offered tributes on a weekly basis.

This seems to accomplish what we need:

  1. DAO token remains non-transferable.
  2. Decision for project management is delegated to one account or multisig.
  3. The project manager does not take custody of DAO tokens at any time during the project. Reducing income tax liability.
  4. It gives us on-chain accounting for usage of DAO tokens for work performed.
  5. Provides traceable and immutable public record for the transfer of IP and materials from contributor to DAO(LLC).
  6. Provides traceable and immutable public record for exchange of services and IP for equity.
  7. Enables early stage governance decentralization based on merits (instant sweat equity voting power).

Class diagram proposal for SweatEquityProject follows: