Giter VIP home page Giter VIP logo

beefy-app's People

Contributors

0xcmdrkeen avatar alltradesz avatar andreb0x avatar ararog avatar auspicious-001 avatar brknrobot avatar cartman-dev avatar defidebauchery avatar epete-epete avatar galmoli avatar husavik-8313 avatar ixiaowu2020 avatar jin10086 avatar jordanraphael avatar jpopxfile avatar kexleybeefy avatar lancelotm avatar lookfirst avatar mirthfutures avatar mjoaris avatar mo0o0d avatar moonster-bsc avatar pumpingghost avatar qkyrie avatar reflectivechimp avatar roman-monk avatar seguido avatar shatterproof avatar sirbeefalot avatar wivern-co-uk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

beefy-app's Issues

Add "Trading APY" to our overall APY per vault. ($500 UI + $2000 API Bounty)

This is a feature that I've been meaning to add for some time, and I just saw that Alpha Homora has it implemented.

They display the trading APY of holding an LP and add it to the total as well. This is relevant because a lot of the time, you're comparing the profitability of farming with an LP as opposed to holding an asset like BNB. In this sense, the trading profits are part of the equation, and it would be good to be explicit about it.

Add a Features section of filter to the app.

Right now, app.beefy load by default with Hide Zero Balances ticked on. This could cause user not to see new vault release.

I'd suggested to had a 'Featured' vault option. That way when a new vault is release , people can see it.

Featured vault could be rotated every week. Also, an announcement page or just a rotating list could be usefull to display at top? At some point, a lot of user will not be on Discord, or twitter and will only get their info from the webpage.

From: @power

Add last harvest info + harvest button to vaults UI

Users benefit if they withdraw as soon as a harvest happened. This is because unharvested gains are not realized by someone who exits the system.

It'd be good to add two things to our UI and I don't think it would be hard. It's just a matter of finding a place where it's usable.

  1. A "time since last harvest" counter. So that users can tell if a long time has gone by since the last harvest and they should maybe wait until the next one.

  2. A Harvest button. Or a "Withdrawal with harvest". Most harvests right now cost $0.25-$0.35 which is really cheap. Users with more than $x would benefit from harvesting before exiting. Or you might be in a rush because you want to use the locked coins for a trade, in which case you might be better off harvesting and then withdrawing.

This last point also continues the path towards decentralization of the system.

Select Network Pop-up not displayed correct in night mode

When running the Beefy App in Night Mode and trying to change the network, the Pop-up Window is rendered in a mix between Day and Night Mode (Bright Text on bright background)
I have currently only Brave installed, so could not check it in other Browsers

Dark_mode_UI

Add "Audited" logo for vault or strat contracts with audits.

As the first batches of audits start to come out, we will begin to have more strategies and vaults with Certiik audits.

It would be good to have a place in our UI to show that certain contracts are audited.

We might have to do a separation between the vault contract being audited, and the strategy contract being audited.

I've seen a few requests to show the vault/strategy addresses in the UI with links to bscscan. Maybe this is the time to add them and add the little shield when relevant.

Add a 'Reset Filters' action to the filter section

Very frequently, when users report issues with not seeing certain vaults, it's due to past filters continuing to be applied.

Having these saved in localStorage is not a bad idea to keep (166a2d6), but there should be quick access to reset this filter. This will mitigate several back-and-forth queries of "Do you have filter set?", as well give other users an easy way to knowingly reset their settings.

Screen Shot 2021-02-28 at 7 44 18 PM

The default system language overrides the selected language

Expected Behavior

When landing on the page, the language should be the one selected in the header menu. If the selected language is English, the texts should be in english.

Current Behavior

My system is in French and when I open up the app, the selected language is English but some texts are in French.

Possible Solution

  1. Get the system language and make it the selected language
  2. On landing, the selected language must be English and the texts must be in English

Steps to Reproduce

  1. Open up the app
  2. beefy finance

Context (Environment)

  • windows 10

Add explicit labels for different vault states

At the moment we use color coding to display the state of vaults. There are various problems. For once, we only have two colors but at least 4 states:

  1. Default light brown: Everything is okay.
  2. Yellow: This can mean several things. Deposits are paused but vault is working, vault is temporarily paused and not generating yield while we improve something, vault is permanently pause because the farm reached end of life.

Color coding is also nos very explicit. Having clear labels, or some explicit manner to convey vault state would be better.

Add "Active Pools" filter

As we have more pools, it gets to be more useful for users to have a quick way to only see the pools where they have funds deposited.

This could be a filter, a tab, or anything

react-dom.production.min.js:101 Uncaught TypeError: x.amount.replace is not a function

let amountValue = depositBalance.amount
? depositBalance.amount.replace(',', '')
: depositBalance.amount;

When deposit.amount is a number (e.g. 29.95 not "29.95") this throws an exception as numbers don't have a .replace method:

react-dom.production.min.js:101 Uncaught TypeError: x.amount.replace is not a function
    at w (DepositSection.js:67)
    at onClick (DepositSection.js:192)
    at Object.He (react-dom.production.min.js:52)
    at Ve (react-dom.production.min.js:52)
    at react-dom.production.min.js:53
    at Mr (react-dom.production.min.js:100)
    at kr (react-dom.production.min.js:101)
    at react-dom.production.min.js:113
    at Pe (react-dom.production.min.js:292)
    at react-dom.production.min.js:50

To reproduce - press the deposit all button; cancel this request in metamask; then press either of deposit or deposit all buttons without changing the value in the box.

"Vault type" filter shows all vaults when it doesn't match anything.

I noticed this while implementing the multichain toggle. I don't know if it's the expected outcome.

To reproduce

If you're in a chain like HECO, where we don't currently have single asset vaults. Selecting "Single Assets" in the "Vault type" filter will display all vaults.

Expected outcome

Showing no vaults is what would normally happen in my mind. Don't know if there's a better argument to show everything.

Make the app Multichain

Right now the app is designed to work with just one chain, BSC. The farming ecosystem has grown on other chains, like HECO, so we need to adapt the app to handle them.

This can happen in a few different ways.

  1. We could only display vaults for the chain that you're connected to.
  2. We can have filters for the different chains.

This is probably not an easy issue to solve, so it will certainly have reward from the Treasury. Or you can ask for a budget before starting work.

Refactor our stats RPC calls using a Multicall contract.

Every time a user opens up the app, we're doing a few hundred RPC calls to the BSC nodes. Some users get rate limited and face weird bugs. As we add more vaults, it becomes more of a problem.

We should deploy a Multicall contract on BSC and use it to turn all those requests into 1-3

Create a separate page for each vault. ($500 Bounty)

Having a routable page to a vault would help us in a few ways.

  1. Deep linking will make it easier to get traction and direct users exactly to a vault that they might be interested.
  2. Have more space for relevant info. We could add information relating to impermanent loss for example on LP vaults.
  3. Be able to do more queries once we're inside the vault page without concern for doing too many concurrent queries.

"Deposited" filter does nothing when you haven't deposited in any vault.

I noticed this while implementing the multichain toggle. I don't know if it's the expected outcome.

To reproduce

  1. Select a new account that has never made a deposit in a Beefy vault.
  2. Click "Deposited Vaults" filter.

It also works this way if you've deposited previously but you withdraw all.

Remove LP duplicate images to decrease load time

Right now we use custom images for different vaults even if they use the same LP. For example the ETH-BNB vault that uses Pancakeswap has a different image than the ETH-BNB vault that uses jetfuel, or the one from Streetswap.

If we stopped separating token/lp images in folders, and use the same assets for each LP/token it would diminish load time.

Add section for Featured vaults

We could have at the top a section for 1-3 featured vaults. Maybe these are the latest vaults, one with a particularly high APY, etc

The wrong balance displayed after deposit

I got 355 BUSD and deposited them into the BUSD x AUTO vault. I got mooAutoBusd tokens back. Their quantity was the same as I deposited, but on the UI I saw that the count of deposited money is less. And for now, I have more mooAutoBusd tokens, than the balance on the website. Is it expected behavior?

image
image

Make a list of places where we could optimize app performance.

App performance is a pain point for our users. With so many things on our place, we haven't had that much time to optimize the app.

It would be great to do an initial scouting of low hanging fruits that we can improve. With that list we can create some specific issues for each improvement.

Remove 'lodash' dependency

Lodash is a considerable part of our build right now but we only use it for its "find" function.

We should either replace it for native javascript or just depend on that individual lodash function.

This would increase performance, especially if we're trying to start targeting mobile users more.

Language Switcher UI Overlay Bug

When the language switcher is clicked and the menu opens, the UI is covered by the vault UI components

beefy-lang-switcher-ui-bug

Tested on latest versions of Chrome, Firefox & Brave - All exhibited the UI issue.

Add an "Experimental" tag to vaults and a filter to toggle them.

Sometimes we try new things, and these might carry extra risks. It might be good to be able to mark these vaults as "Experimental" and possibly hide them by default.

We can have another toggle, like the "Hide Zero Values" or "Retired Vaults", where people can see the experimental vaults.

In the future we can have different sections and move these pools into their own section.

Add link to the HECO app

Context

While we develop the next version of the Beefy app, or add native a multi-chain feature, the other chain where we have farms is in a different subdomain at https://heco.beefy.finance

## Problem
Users might not check the farms on that chain, or even know that we have farms on HECO already.

Solution

It would be good to have a link from our main app into the HECO app. The challenge is how to do it without making the header even more cluttered than what already is.

Improve the way we display TVL and APY numbers.

Right now we're using somewhat of a confusing nomenclature for APYs

Something like 1.15k% is used for example instead of 1150% which would take up the same space but be clearer.

On the TVL side, something like $141.01k takes up the same space than $141,000 and is less clear too.

Revamping this could diminish confusion from newbies and increase retention

Make Launchpool section multichain

We maintain a single codebase for all chains now.

The "/stake" section keeps showing BSC pools though. It would be good to adapt it to show pools relevant to the current chain.

Add "Estimated Profit" counter

We need to improve how we display our value to our users.

Right now there's little feedback and a good chunk of our more savvy users are using other tools to track the value generated by Beefy. This can range from the BIFI deposit telegram bot, to https://www.yieldwatch.net/ .

The problem is that a good portion of our users either doesn't know about these initiatives, or would prefer to see the value displayed right within the app.

I feel like having more indicators of value, gamification, etc, could increase UX substantially. This increases user retention and decreases friction.

We don't need to reinvent the wheel. It would be enough to see how those platforms are tracking value and do the same. I think that accepting that the estimates will break if someone transfers mooTokens is okay too.

Add a filter by asset

It would be great to filter by asset. For example only show pools which have CAKE, or only pools with DRUGS.

I think that LP tokens which have the asset as one of the pair tokens should also fall wiithin the filter.

Responsive issue for Header between Large (1280px) and Medium (960px) breakpoints

Context

When the app's width is set between 1280px to 960px, there will be missing links such as barn, vote, etc. That would be an issue for anybody who's using the iPad or any tablet that utilises that website width.

The bug was found on Safari on iPad Mini and Version 88.0.4324.190 (Official Build) (64-bit).

Reproduction for Bug

  1. Load the app
  2. Press Ctrl+Shift+I to access Developer Tools on Chrome.
  3. Click on Toggle Device Toolbar or press Ctrl+Shift+M
  4. Underneath the address bar where you can see Responsive and the dimensions for width and length, set the width from 1279px to 960px.
  5. Observe the header where you can see the 'buy' and 'BOOST' button but unable to see either the other buttons or the sidebar burger button.

Solution

I'm proposing to change the breakpoints and ensure that the users can access the sidebar menu when using a tablet.

Add a BNB "Zap" feature to the app for conveniency. ($4000 Bounty)

Context

We're always looking to improve the experience and remove friction of users interacting with Beefy.
Having to create an LPs can sometimes be a hassle, especially for new users.

Solution

We would like to add a "Zap" feature from BNB and to BNB. This means that:

  1. Users can come in with BNB, and through the Beefy UI, swap it for the LP that a vault can manage.
  2. Users that want to withdraw from a vault, can from the the LP into BNB with one click as well.
    I don't exactly know if this is best solved at the smart contract level, at the client level, or if both would have to be involved.

Notes

  • It might be desirable, even in the first version, for people to toggle the accepted slippage. Otherwise we might configure the slippage at something low initially.
  • In the future, the functionality will probably be extended to allow zaps from more currencies.

Translate to Dutch

There is no translation in Dutch yet, I'm going to translate it. I mainly made this issue to inform others and prevent double work :)

Stop using API to populate launchpool data on vault list.

The '/stake' section was reworked to fetch all data client side. We still use the API on the vaults list to display two data points that we already have locally:

1- Reward pool name.
2- Reward pool apy.

If we could reuse the client data, it would improve the launchpool flow 10x, and it's another step to being able to run the app entirely client side.

Add section for decommissioned pools

It might be good to have a separate section of the website where all the pools that have reached an end of life are. This way we have more room on the front page for pools that are actually active.

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.