GnosisEcosystemFund / Gnosis-Bounties-

2 stars 3 forks source link

Token BuyBack #3

Open GnosisEcosystemFund opened 6 years ago

GnosisEcosystemFund commented 6 years ago

Background

What is a token buybacks? In traditional finance it relates to share repurchases. Similarly, here a buyback is when a projects (or actually anyone) would like to commit to buying a specific token [let’s call it SpecificToken] to reduce the available number of tokens in the market. Buybacks are indeed very common, many companies perform buybacks for various reasons. One would be to control the value of their token. By buying back tokens, it increases the value of the remaining tokens. Check out this Aragon research paper for one specific example of a buyback (and burn in this case) and why a project might want to do this:
https://research.aragon.org/t/thoughts-on-aragon-network-treasury-governance-and-reserves/180

There are various difficulties a project could encounter when performing a buyback, such as:

The DutchX would be particularly suited for tackling these challenges because it is an open platform for all participants. No funds are accumulated to one particular exchange and no bias towards such may happen. Furthermore, there can be full trustless commitment by the project by pre-committing funds to a smart contract.

How would a buyback be performed on the DutchX?

A project would take part as the seller in an auction, most commonly WETH (but could be any ERC20 such as DAI). The auction the project would take part with to buy back their SpecificToken would be WETH-SpecificToken (e.g. WETH as sellToken and SpecificToken as the BidToken). The project would pre-submit a WETH (or other ERC20) as the sellVolume to a smart contract, which executes the buybacks on its own.

The difference in the process to maybe more traditional buybacks would be that rather than committing to a fixed amount of token that are being bought back, the project would commit to be spending an amount X to buy these tokens back.

Task

Please write a smart contract that easily enables projects to perform token buybacks via the DutchX trading protocol.

Acceptance criteria

Business:

Technical:

Payout

250 GNO Additional GNO can be tipped according to the level of technical implementation

Others

Read our documentation to get started. Contact us via Gitter in case you need support or have questions.

gitcoinbot commented 6 years ago

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


This issue now has a funding of 250.0 GNO attached to it as part of the Gnosis fund.

gitcoinbot commented 6 years ago

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


This issue now has a funding of 250.0 GNO attached to it as part of the Gnosis fund.

gitcoinbot commented 6 years ago

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


Work has been started.

These users each claimed they can complete the work by 3 years, 2 months ago. Please review their action plans below:

1) samparsky has been approved to start work.

Experience: Built a token withdrawal limit module for Polymath Network. Also, gone through the dutchx documentation and quite understand what this requires.

The DApp built would meet the following standards:

  1. All smart contracts have 100% test coverage with solidity-coverage
  2. All public methods have netspecs
  3. Linters are applied (Solium or Solhint)
  4. Readme with setup instructions and explanations for implementation details
  5. All code (Variables, function names, comments) is in English
  6. The Contract code is audited using Mythril & Slither for bugs

Task should be done between 7 - 9 days

Learn more on the Gitcoin Issue Details page.

samparsky commented 6 years ago

@GnosisEcosystemFund When can I start work on this?

mortdeus commented 6 years ago

why does the funders get a say on accepting workers? why isn't payment decided by the maintainer's decision to merge their code?

gitcoinbot commented 6 years ago

@samparsky Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

samparsky commented 6 years ago

@GnosisEcosystemFund Already started work on this

samparsky commented 6 years ago

@GnosisEcosystemFund Should I submit the PR to this repo? Or I should drop a link to the public GitHub repository?

GnosisEcosystemFund commented 6 years ago

@samparsky You should submit it here and after reviewing and approval it can be merged to the DutchX repo. Also remember to submit it via Gitcoin. How is the project going? Do you need more help or?

samparsky commented 6 years ago

@GnosisEcosystemFund I have a created WIP PR

For the DutchX protocol To post a sell order on dutchx do I have to addTokenpair first? Also what's the difference between postSellOrder & postBuyOrder?

samparsky commented 6 years ago

@GnosisEcosystemFund I having issues setting up the Dutch exchange in my test suite.

Goal I want to setup a testing exchange for testing the tokens buyback.

Isuses The call to the methods in DutchExchange results in a revert error

Can I have someone look through my tests for what I am doing wrong?

GnosisEcosystemFund commented 6 years ago

@samparsky Please go to the Gitterchannel. It is the easiest way to get your question answered. I will let your DeVs know that a question is coming in :)

frankchen07 commented 6 years ago

@GnosisEcosystemFund - Frank from Gitcoin here - it looks like worker has submitted work on Gitcoin, but the PR doesn't seem legit, and there doesn't seem to be evidence that he/she was approved. Did you approve @omidmahboubian for work? (here: https://gitcoin.co/issue/GnosisEcosystemFund/Gnosis-Bounties-/3/1626)

g-r-a-n-t commented 6 years ago

@frankchen07 Please also take a look at https://github.com/GnosisEcosystemFund/Gnosis-Bounties-/issues/2 Not sure what this guy is up to...

GnosisEcosystemFund commented 6 years ago

@frankchen07 yes It looks we are receiving submissions from people we haven't approved. I there a way to avoid this?

samparsky commented 6 years ago

@frankchen07 I think @omidmahboubian is trying to game the system somehow. Seems like he/she might have figured out a flaw in the system and possibly trying to exploit it? Just saw another issue where he/she was able to get the gitcoin bot to reference a issue as a PR submission for an issue he/she wasn't approved on

frankchen07 commented 6 years ago

hey all, Gitcoin has been made aware of the situation and we're looking into it!

samparsky commented 6 years ago

@GnosisEcosystemFund Who do i tag for code review?

GnosisEcosystemFund commented 6 years ago

@anxolin will do the code review

gitcoinbot commented 6 years ago

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


Work for 250.0 GNO (5467.5 USD @ $21.87/GNO) has been submitted by:

  1. @omidmahboubian
  2. @samparsky

@GnosisEcosystemFund please take a look at the submitted work:


samparsky commented 6 years ago

@GnosisEcosystemFund The PR is ready for review, I have tried contacting @anxolin on the Gitter chat hasn't responded yet

GnosisEcosystemFund commented 6 years ago

@samparsky Sorry, that he didn't reply to you yet. He will review your submission in the next days and we will get back to you begining of next week.

CPSTL commented 5 years ago

Hey @GnosisEcosystemFund and @anxolin ! Have you had the chance to review @samparsky 's submitted work yet?

MareenG commented 5 years ago

Hey @CPSTL, @anxolin is on it. They are going currently through some iteration steps.

samparsky commented 5 years ago

@MareenG Hello, is this issue still needed?

gitcoinbot commented 5 years ago

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


The funding of 250.0 GNO (4182.5 USD @ $16.73/GNO) attached to this issue has been approved & issued to @samparsky.