Coder Social home page Coder Social logo

assembly's Introduction

Assembly

Assembly is a tool to enable DAO contributors to effectively re-imburse and pay contributors for their work while ensuring full transparency.

At the beginning of each period every core contributor receives a token grant from the DAO in "dist" tokens. These tokens can not be sold and represent the budget allowance of each contributor for the period. Every contributor can spend their budget by burning the dist tokens assigned to them. They can not spend the budget on themselves.

Every grant is represented by a transfer of "grant" tokens that can be 1 for 1 redeemed for compensation at the end of the period, extended by a grace period in which the DAO can freeze accounts in case funds have been misappropriated. In order to allow for oversight through all DAO members every grant needs to be marked with a short note on why this expense was necessary.

Compensation is initially only a single SPL token per distributor. Multiple distributors can be used in parallel to account for grants in different types of tokens. More complex payment schemes should be possible to add and all submissions with sufficient test coverage are welcome.

Project Structure

This project was written in anchor to allow easy customization and integration with more advanced compensation primitives like vesting tokens or options.

programs/assembly - the on-chain program written in rust

lib - the typescript client library

tests - integration tests in typescript exercising both of the above

Open Issues

  1. Build a great GUI
  2. Integrate into governance-ui so we can fund it from the DAO
  3. Add instruction to return excess budget to DAO
  4. Close intermediate token accounts and refund SOL

assembly's People

Contributors

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