Giter VIP home page Giter VIP logo

contracts's People

Contributors

cajubelt avatar jophish avatar silasbw avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

contracts's Issues

Add check on path end-tokens

We should add a check to ensure that the end-tokens in each path correspond to the correct token0/token1 that comprise the LP token

contract to supply and deposit LP in one step

As an end user, I need to be able to get an LP and deposit it into a "meta" farm bot in a single step.

Eng:
the flow should include the following steps:

  • user approves Farm Investor (not attached to this naming) for X of token A
  • user approves Farm Investor for Y of token B (equal value)
  • user calls "invest" method on farm investor
  • farm investor takes token A and token B from user
  • farm investor approves liquidity router for token A and token B
  • farm investor adds liquidity and gets LP in return
  • farm investor deposits LP into farm bot and gets RFP in return
  • farm investor sends RFP AND ANY UNUSED token A/B to the end user

AC:

  • the above contract is implemented and unit tested
  • some e2e test is run on alfajores or mainnet

generalize farm bot structure

there needs to be an interface which will help us implement different farm bots for different DEX's

there are probably methods that are DEX-agnostic that can be put into an abstract class as well

and potentially different rewards contracts for the same DEX, for instance the single-rewards contract used by some Ubeswap farms

AC:

  • UbeswapFarmBot is separated out into an interface, abstract class, and bespoke contract
  • the re-usable components are re-usable :)
  • unit tests updated and passing

CI

we should run unit tests and formatting checks before enabling merges

Ubeswap farm bot for single-token rewards farm

3 of the top 5 farms by TVL on Ubeswap have just one token for rewards.

Single-token rewards contracts are different than the multiple-token rewards contracts, so I think we may need to create a new Farm Bot contract to support them.

AC:

  • we can deploy a farm bot supporting a farm which has only one token for rewards
  • unit tests
  • basic e2e tests (deposit, withdraw, compound)

deploy meta farm bot

just for practice

should probably be on mcUSD-mcEUR

will involve deploying a new MoolaStakingRewards contract first

AC:

  • I can deposit some mcUSD/RFP LP into a farm bot
  • compounding for the farm bot works

unit tests

need full unit test coverage on all our contracts

spike: governance token amount and starting price

how many tokens will exist in total, and what will the starting price of a token be in our IDO? Note that the starting price times the amount of initial liquidity will determine the capital needed for initial liquidity.

note that allocation is out of scope for this issue, see #60

spike: governance token allocation

we need a breakdown of how many gov tokens will go to which things.

note that the total number of tokens isn't in scope for this issue.

ubeswap shared their allocation here, we can largely copy from it I think, although I'd like to see the "team" tokens go to a time lock for vesting instead of straight to us

Get local chain testing working

We need to be able to test our contracts on a local chain, against "dummy" contracts. This issue is for getting the framework/proof-of-concept set up that allows us to write tests using this approach.

RevoFees events

users may want to know what the new fees are when they are updated

multi token rewards

AC:

  • farm bot is able to reinvest rewards for farms where multiple tokens are given out as rewards

sushi farm bot

mainly to make sure the "generalize" issue actually works

AC:

  • implementation
  • unit tests
  • e2e test
  • 1 deployed farm bot
  • added to compounder
  • compounding works

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.