Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quick Work Agreement Contract Bounty #5505

Closed
jeetraut opened this issue Jun 3, 2022 · 2 comments
Closed

Quick Work Agreement Contract Bounty #5505

jeetraut opened this issue Jun 3, 2022 · 2 comments
Assignees
Labels
bounty enhancement New feature or request

Comments

@jeetraut
Copy link

jeetraut commented Jun 3, 2022

Description

Quick work is a valuable DAO tool, a smart contract agreement, either one time or continuous, which pays or rewards a community member for work or service, with conditional fulfillment clauses to trigger payments.

Contract must:

  • Accept payment into escrow to be distributed upon the completion of the work
  • Give power to users to determine that work was completed relative to proposal
    • Single user
    • Multiple users
      • Acceptance by any
      • Acceptance by majority
      • Acceptance by unanimous consent

Context

This bounty revolves around building a component that makes paying DAO members for work a much easier process. Members put forward proposals to complete certain jobs, which are then subject to a voting and approval process from the community. Parameters around quick work include: amount of payment, timing of payment, and conditions that must be met to receive payment.
Output of the bounty must include the following:

  • Demo video walking through the interaction
  • Code in a public github repo
    • Note that contract code submissions must be open source.

Acceptance Criteria

  • Implementation plan agreed to with Agoric team
  • Criteria in description met

Time Estimation

3 weeks

Reward

$9,600

Payment will be made in USD (fiat currency) via wire transfer. The developer is responsible for providing their completed tax documents (W9 for US based developers and/or W8 or W8-BEN-E for non-US based developers) and providing their banking details in order to receive payment.

Applicant Assessment Criteria

Important: Please provide a clear workplan for how you will approach this bounty. Use the work plan as an initial demonstration that you would be a good candidate. Bounties will require coordination with the Agoric team, so unfortunately only plans submitted in English will be considered.

Applicants will be assessed based on the following criteria:

  • Issue-specific domain experience
  • Issue-specific technical capability
  • Familiarity with Agoric's platform
  • JavaScript experience
  • Availability and communication

Review Process

  • Agoric team reviews your submitted workplan on Gitcoin
    • It is best to join our Discord and post your Gitcoin name in the bounties channel, so that we can follow up with you. Otherwise, we will write on your gitcoin profile wall and say hello!
  • Agoric contacts you to provide reference projects / sample code for engineering review
  • Introductory call to discuss your plans and expected timeline
  • You join the Agoric Discord bounties channel (if you haven’t done so already)
  • Agoric accepts you on Gitcoin and you get started!

References

@jeetraut jeetraut added enhancement New feature or request bounty labels Jun 3, 2022
@jeetraut jeetraut self-assigned this Jun 3, 2022
@gitcoinbot
Copy link

gitcoinbot commented Jun 4, 2022

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Workers have applied to start work.

These users each claimed they can complete the work by 264 years from now.
Please review their action plans below:

1) 0xzoz has applied to start work (Funders only: approve worker | reject worker).

I would like to implement this contract. I will be using this as an experience to use and become familiar with the Agoric platform.

I had a similar experience learning Ceramic and integrating it with an app last week. Here are some of the learnings:

Hello Dear this is Adil Raza Full Stack Blockchain Developer having experience on solidity and Rust . i am core contributor of Polygon and Near protocol . with year experience on Industrial implementation of large scale cloud applications .

i am Founder of Finiteyfi and Got Accepted into Near Fellowship .
https://gitcoin.co/grants/1891/finiteyfii

you can checkout my public profile on Gitcoin about my contributions i did already an my trust score to work on this issue .

i am sharing all my public profiles for you to check .
https://github.com/madilraza
https://www.linkedin.com/in/muhammad-adil-raza-419544183/

i will love to work on this issue . will be waiting for approval .
3) carlbarrdahl has applied to start work (Funders only: approve worker | reject worker).

I haven't previously built with Agoric but have long experience in javascript, both browser and node environments. I love project-based learning and the research and development way of prototyping.

I'm in CET timezone and flexible around communications.

Initial workplan looks something like this:

  • Learn about Agoric and Zoe
    • Clone repos to try and play around with contracts
    • Understand how wallets and contract interactions work
  • Use existing Governance package in sdk as a base to build upon
    • Question as base for Proposal
    • Comittee to configure voters
  • Escrow contract to store funds
  • Learn about weak points and take into consideration
  • Build basic UI
    • Create proposal form
      • Title and description
      • Amount of funds to escrow
      • Configure single or multi-user (majority, no qurom, all)
    • List proposals
      • Display name, title, time left, status (ongoing, submitted, completed)
      • Navigate to View proposal
    • View proposal
      • Same as in list + description, conditions
      • Vote if work has been submitted and current user is part of comittee

This might need some adjustments after learning more about Agoric and understanding the problem space better.

I'm a quick learner and have previously built prototypes such as:

Happy to hear from you,
Carl
4) atrone has applied to start work (Funders only: approve worker | reject worker).

I'm a senior software engineer that has a lot of Web3 experience with solidity and distributed storage and tons of Web2 experience with React, Angular, Javascript, Typescript, Python.

My action plan is simple:
I would either augment the DB to create a collection that just deals with work acceptance in order not to touch the existing user info collection, or use a distributed storage solution like web3.storage (your choice).

After making the storage solutions, I would augment the front end to make an acceptance option (ex. checkbox, buttons, etc) that will update that work's stored document when triggered and send a representation of that document to the smart contract.

The smart contract will check if that document has met its acceptance criteria and if so, make a transaction to the respective party. If this transaction is made, the frontend will be made aware of this and update the document accordingly.

Thanks.
5) native-earthling has applied to start work (Funders only: approve worker | reject worker).

Steps I will take to complete accordingly.
6) elicharlese has applied to start work (Funders only: approve worker | reject worker).

I can work on front-end development or blockchain development work.
7) mucphon has applied to start work (Funders only: approve worker | reject worker).

Btc to the moon
150.000$ soon
Go go go go
8) ameesha1205 has applied to start work (Funders only: approve worker | reject worker).

I have worked with similar contracts before and I can work with this in the given time frame.

Smart contracts:

  • vault (manages amounts)
  • vault manager (trigger payments, includes timelock)
  • DAO (voting system, checkpoints etc.)
  • Execution (includes task managements)
  • Roles (Service providers, clients, managers)
    9) madhav-madhusoodanan has applied to start work (Funders only: approve worker | reject worker).
  1. DAO contract design
  2. Voting feature construction
  3. Escrow management feature construction
  4. Exhaustive testing integrated with Hardhat project
  5. Security vulnerability testing with swcregistry
  6. Presentation
    10) manav650 has applied to start work (Funders only: approve worker | reject worker).

This seems like a fun and doable bounty for me. I should be able to complete this by the end of July at the most, likely earlier. The steps I envision for the bounty are as follows —

  1. Meet with Agoric team and understand requirements
  2. Implement the escrow capabilities of the contract
  3. Implement proposals for members requesting quick work
  4. Implement voting outcome resolution for proposed work
  5. Codify conditions for work completion
  6. Implement work acceptance and payout
  7. Create a demo UI illustrating the process
  8. Write out tests and perform [preliminary] debugging
  9. Submit!
    11) toaster-dmg has applied to start work (Funders only: approve worker | reject worker).

I will create an in house system for the DAO to create the agreements, the board adds users by adding their email and then the users set their password. After logging in, they are given the ability to propose jobs and vote. When a job is posted, it is filtered for spam and if it passes it goes to the board to approve and publish for voting by all DAO members. Blockchain and escrow are then integrated once a vote turns to majority. This works by creating a third "locked wallet" where all funds will be deposited. Once the job is completed, and the agreed upon trigger is met the funds will be transferred to the workers wallet.
12) yawfrost has applied to start work (Funders only: approve worker | reject worker).

Am here to help you with any problem
13) kenthewhalegoddess has applied to start work (Funders only: approve worker | reject worker).

Hi, I would like to work on this product.
14) abebeos has applied to start work (Funders only: approve worker | reject worker).

Product Management Part: my interest is mainly to provide some additional requirements in order to make this contract the foundation for a "killer-app". Essentially small details.
15) iotaaxel has applied to start work (Funders only: approve worker | reject worker).

I've read the description and am crafting a basic roadmap that includes a testing / benchmarking phase.

Learn more on the Gitcoin Issue Details page.

@jeetraut jeetraut changed the title Quick Work Agreement Contract Quick Work Agreement Contract Bounty Jun 6, 2022
@vibhuti019
Copy link

@jeetraut Is the bounty still open ? I would like to apply on the bounty.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bounty enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants