Macarena finance is a simple UI for Yearn Finance, made to be forked!

Overview

Macarena Finance

Macarena finance is a simple UI for Yearn Finance, made to be forked!

Running your own instance of Yearn makes you eligible to earn fees on top of all deposits made through your UI. See information on how partnership and profit-sharing work at our Partner Docs

Table-of-content

Live Demo

Quickstart

  1. Clone the repository: git clone https://github.com/yearn/macarena-finance.git
  2. Run yarn to install dependencies
  3. Run yarn run dev to raise the developer environment
  4. Open your browser at http://localhost:3000

Configure profit fees address

  1. At next.config.js change PARTNER_ID_ADDRESS to the address that should receive the partner fees
  2. Fill up this template issue to request us to enable the above ID to receive partner program profit-sharing fees

Add or remove Yearn Vaults displayed

Change the list filtering the vaults you want to show at:

Themes

Customize the website css theme:

  1. Change theme name in _document.tsx at line 26 and style.css at line 8
  2. Customize theme css in style.css

You can quickly change how everything looks by customizing css variables in style.css. You can find the original CSS and the available CSS variables in the Yearn Web Lib.

Environment Variables

Create a .env file in the root project path overriding any env. variable:

  • WS_URL_MAINNET custom websocket url for Ethereum Mainnet
  • WS_URL_FANTOM custom websocket url for Fantom
  • RPC_URL_MAINNET custom RPC url for Ethereum Mainnet
  • RPC_URL_FANTOM custom RPC url for Fantom
  • ALCHEMY_KEY alchemy.com key

Rename .env.example to .env to customize the above

Tech Stack

The core libraries used by this project is:

Folder Structure

/components

Individual UI components reused across pages, like buttons and charts

/contexts

Individual components with no UI that helps manage the application state

/pages

Each page corresponds to a route in nextjs. Any file created in this folder can be accessed through url routes, for example if you create a page "test.tsx" you will be able to access it locally at http://localhost:3000/test

Pages that start with _ like _app.tsx and _document.tsx are the application's entry point and are handled by NextJS automatically

Read more about how to build app navigation at NextJS Router Docs

/utils

Stateless functions to be reused at any file to transform data

/public

Static files used in the website, like images and icons

Comments
  • build(deps): bump @yearn-finance/web-lib from 0.13.5 to 0.13.27

    build(deps): bump @yearn-finance/web-lib from 0.13.5 to 0.13.27

    Bumps @yearn-finance/web-lib from 0.13.5 to 0.13.27.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • build(deps): bump @yearn-finance/web-lib from 0.13.5 to 0.13.19

    build(deps): bump @yearn-finance/web-lib from 0.13.5 to 0.13.19

    Bumps @yearn-finance/web-lib from 0.13.5 to 0.13.19.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • build(deps): bump @yearn-finance/web-lib from 0.13.5 to 0.13.15

    build(deps): bump @yearn-finance/web-lib from 0.13.5 to 0.13.15

    Bumps @yearn-finance/web-lib from 0.13.5 to 0.13.15.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • build(deps): bump @yearn-finance/web-lib from 0.13.5 to 0.13.14

    build(deps): bump @yearn-finance/web-lib from 0.13.5 to 0.13.14

    Bumps @yearn-finance/web-lib from 0.13.5 to 0.13.14.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • build(deps): bump @yearn-finance/web-lib from 0.13.5 to 0.13.13

    build(deps): bump @yearn-finance/web-lib from 0.13.5 to 0.13.13

    Bumps @yearn-finance/web-lib from 0.13.5 to 0.13.13.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • build(deps): bump @yearn-finance/web-lib from 0.13.5 to 0.13.10

    build(deps): bump @yearn-finance/web-lib from 0.13.5 to 0.13.10

    Bumps @yearn-finance/web-lib from 0.13.5 to 0.13.10.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • feat: new filter system

    feat: new filter system

    After some talk with @MarcoWorms, the filter system is not great and may be difficult to update. This PR try to solve this by abstracting the filter logic based on the filters added by the user.

    • defaultCategories are set on the useYearn context
    • defaultCategories is updated after the vault filtering setup to match all the available categories
    • Category name is category filter
    • Reduce selectedCategories object complexity
    enhancement 
    opened by Majorfi 1
  • feat: bump web-lib for more control over RPC

    feat: bump web-lib for more control over RPC

    Upgrade the web-lib to V0.9.x, which enable more RPC settings.

    For the supported networks, the logic is now this one:

    is a webSocketURL env set ?
    	then use it
    is a jsonRPCURL env set ?
    	then use it
    is an Alchemy key set ?
    	then use it
    if an Infura set ?
    	then use it
    Otherwise, use the default RPC
    

    Default RPC are https://rpc.flashbots.net for Ethereum Mainnet and https://rpc.ftm.tools for Fantom Network. Exact implementation is available in the web-lib here.

    In order to customise the env variable, you can create a .env file with the following informations:

    WS_URL_MAINNET=wss://xxxxxxx
    WS_URL_FANTOM=wss://xxxxxxx
    RPC_URL_MAINNET=https://xxxxxxx
    RPC_URL_FANTOM=https://xxxxxxx
    ALCHEMY_KEY=xxxxxxx
    
    enhancement 
    opened by Majorfi 1
  • patch: minor issues and web-lib

    patch: minor issues and web-lib

    • Enable 1337 support for all
    • Remove YEARN_PARTNER_CONTRACT_ADDRESS env variable to use the values from the web-lib (networks[chainID].partnerContractAddress from useSettings()). Data can be found here
    • On the DepositCard, prevent the input from updating after an approval or once something is already typed before the initial data load
    • Bump packages
    • Add link redirect to homepage onClick on Logo
    • Fix extra multicall on invalid chain on chain switch
    enhancement 
    opened by Majorfi 1
  • build(deps): bump @yearn-finance/web-lib from 0.13.5 to 0.13.28

    build(deps): bump @yearn-finance/web-lib from 0.13.5 to 0.13.28

    Bumps @yearn-finance/web-lib from 0.13.5 to 0.13.28.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • coquillage.eth

    coquillage.eth

    Scope

    Participant in online ETHonline 2022 Hackathon.

    Plan

    imporoving UI, and deploying in IPFS

    People

    github.com/bild96

    partnerID

    0xfd7a470001364d707c81074142b6aC9248B0b0cc

    Condition

    • [X] I agree
    opened by Bild96 0
  • Partner ID set up

    Partner ID set up

    Scope

    First and foremost, thank you for the opensource efforts by Yearn. The aim of this project is to learn a bit more about Decentralized Finance and to further the scope of decentralizing the UserInterface to the Yearn platform. Hope to learn more and find success in the space

    Plan

    1. Set up working UI for interacting with Yearn
    2. Marketing the website portal to get a sense for engagement and interest in DeFi from my end
    3. gauge interest in people willing to work on furthering the project in our own unique way

    People

    This is a sole effort by the submitter of this request. Hoping to onboard more members to this solo team. This is a learning effort, for now.

    partnerID

    0xE3F751a1712EfFaB7a960321B08366e36d8a6Ccc

    Condition

    • [X] I agree
    opened by liquidoxygen96 1
Owner
yearn
we build yearn and yearn builds itself
yearn
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
This work is an overnight with 84436, an overlay code forked from Osu! community but for ``flag of Vietnam`` in r/place 2022

flag-of-vietnam-rplace2022 This work is a overnight with 84436, an overlay code forked from Osu! community but for flag of Vietnam Installation Xài Ta

Đoàn Đình Toàn 10 Nov 2, 2022
Framework for interacting with instagrams private api in a usable manner (forked from andre's work and improved and fixed)

node-ig-framework Framework for interacting with instagrams private api in a usable manner (forked from andre's work and improved and fixed) Installat

nine ecksen 3 Dec 31, 2022
Custom Vitest matchers to test the state of the DOM, forked from jest-dom.

vitest-dom Custom Vitest matchers to test the state of the DOM This library is a fork of @testing-library/jest-dom. It shares that library's implement

Chance Strickland 14 Dec 16, 2022
📦 🍣 Zero-config JS bundler for ESM, CommonJS, and .d.ts outputs. (Forked from pkgroll)

?? ?? puild (A fork of pkgroll) Write your code in ESM & TypeScript and bundle it to get ESM, CommonJS, and type declaration outputs with a single com

ʀᴀʏ 6 Sep 6, 2022
Forked from hayes0724/shopify-packer Modern development tool for Shopify using Webpack 5. Easy to extend and customize, zero build config, compatible with Slate and existing websites.

Shopify Packer Modern development tool for Shopify using Webpack 5. Easy to extend and customize, zero build config, comes with starter themes and com

Web & Mobile | eCommerce | Full-Stack Developer 4 Nov 24, 2022
forked from https://github.com/ecomfe/fontmin

@sctg/fontminify (just a minimal change to original) Minify font seamlessly Original homepage English 简体中文 繁體中文 日本語 한국어 Install $ npm install --save @

Association High Can Fly 2 Oct 12, 2022
Landing Page for Villagers.finance Play To Earn WEB3 Game, NFT Based.

create-svelte Everything you need to build a Svelte project, powered by create-svelte. Creating a project If you're seeing this, you've probably alrea

Ahmed DEMIAI 9 Sep 15, 2022
🍯 An open source interface for the Honey Finance protocol

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Honey Labs 33 Dec 17, 2022
Decentralized Finance platform (frontend)

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: ya

DJS Tech Group-Dev 2 Mar 28, 2022
A local-first personal finance system

Note from maintainer: don't expect responses or PR merges until May 16th. ??️ I (@jlongster) am currently away on vacation and not checking this. I am

null 5.7k Dec 31, 2022
Actual, a local-first personal finance tool

This is the main project to run Actual, a local-first personal finance tool. It comes with the latest version of Actual, and a server to persist chang

null 1.3k Jan 3, 2023
Website to present projects made by me and that are part of my personal portfolio. It was made using React, HTML y Scss (CSS).

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Portfolio Jesús Leal 0 Dec 23, 2021
A simple to do list webpage where you can log the daily tasks you have to do, mark them as checked, modify them, reorder them and remove them. Made using HTML, CSS and JavaScript.

To-Do-List This Webpage is for an app called To-Do-List which helps you add, remove or check tasks you have to do. It is a simple web page which conta

Zeeshan Haider 9 Mar 12, 2022
A simple Todo App with check complete function and filter todo. Made with React and TypeScript.

A simple Todo App with check complete function and filter todo. Made with React and TypeScript. The app can Add, Delete and Edit todo. Todo can be sorted by Complete or Active.

Bao Nguyen 9 Dec 6, 2022
A simple Discord Server Stat Bot made in Javascript

Discord Stats-Bot A simple Discord Server Stat Bot made in Javascript. If I get 25+ stars I will make an multiguild server-stats code. Installation In

Chethan Yadav 19 Oct 1, 2022
A simple leaderboard project made while a student in Microverse using API to get scores for a game, JavaScript, HTML and basic CSS

A simple leaderboard project made while a student in Microverse using API to get scores for a game, JavaScript, HTML and basic CSS

Thiago Ponce 6 Nov 28, 2022