mento-protocol / mento-web Goto Github PK
View Code? Open in Web Editor NEWA simple DApp for Celo Mento exchanges
Home Page: https://app.mento.org
License: Apache License 2.0
A simple DApp for Celo Mento exchanges
Home Page: https://app.mento.org
License: Apache License 2.0
** Description **
After MU05 executes on mainnet, add the new pools to the frontend and do a few manual trades.
** Acceptance Criteria **
Description
We need to add eXOF & axlEUROC to the UI and make changes to allow swapping between them
Configuration:
Swap:
Other:
Function that sets output token to cUSD if input token is USDC variant
Acceptance Criteria
eXOF and axlEUROC can be chosen as tokens in the token lists . When either axlEUROC or eXOF is chosen, the opposite token input field should default to the opposite token. e.g. When eXOF is chosen for input, the output should change to axlEUROC, and vice versa. We can swap between axlEUROC and eXOF
Description
Create a small set of regression tests for our UI to ensure that existing functionality remains stable and unaffected by code changes, updates, or new features. These tests will help maintain a high-quality user experience and minimise risks. The tests should cover executing swaps through all pools using the top-supported wallets.
Acceptance Criteria
Description
As part of the Mento brand launch, we have a new, updated design for the Mento app front-end. We need to rebuild the existing site following the design in the linked Figma file. So we can co-ordinate the switch, the new build should not be merged to the main branch. After the rebuild, we need to make sure the regression tests are run to confirm everything is working as expected.
Designs
The design has two animations (one for light version, one for dark), I uploaded .json files with animations to google drive
Acceptance Criteria
Bump to UCK 2.1.0 to support cREAL
And other dependency updates
Create a dashboard in MakerDojo that lists all existing pools from various DEXes that include MSAs.
The dashboard should be presented as a table, like:
DEX | pair ticker | token 1 amount | token 2 amount | TVL (combined value in dollars) | Volume 24H | Volume 1 week
I don't know if there is an automated way to parse for all existing pools on all DEXes, if not here is a list of exchanges to be included:
Uni, Sushi, Ube, Mento, Mobius, Symmetric, Curve
Description
It seems like our web app doesn't support GnosisSafe + Wallet Connect.
The increase Allowance transaction does pop up and can be approved but the actual swapIn transaction is not showing up and no error is displayed.
Acceptance Criteria
Description
Users should be able to use the interface to find and execute swaps with the best prices across multiple protocols. We will achieve this by integrating 0x API with the Mento Interface. For the initial implementation, we will compare the expected output amount from 0x with MentoV2 and then use the option with the best price.
Tech Notes
0x provides a relatively simple API that allows consumers to execute swaps with the best prices. The logic should be as follows:
Additional Info
Token Allowances - The 0x Exchange proxy smart contract needs to have an allowance to spend the users funds. The address for the contract on CELO is 0xdef1c0ded9bec7f1a1670819833240f027b25eff and can be seen here
Ox Api URL for Celo - https://celo.api.0x.org/
Token Lists - Tokens that can be swapped should be configurable but initially should be limited to CELO|USDCet <-> cStables
Acceptance Criteria
Description
In the token select dropdown USDC is currently displayed as "USDC". Since USDC is not natively deployed on Celo, it could be referring to different versions of USDC that have been bridged to Celo, such as axlUSDC, USDCet, or any other variant.
We need to modify the site so the difference between versions is clear.
Acceptance criteria
Description
Set up a self-hosted instance of Plausible analytics for mento.org.
Acceptance criteria
Description
Update mento interface branding & content to be consistent with main mento.org site
Logo file can be taken from here
Acceptance Criteria
Add cREAL as an asset and add the exchange to support cREAL minting and burning
Description
During the migration process, we will have two instances of the Mento interface available. One will allow users to use the legacy mento, this will be the existing mento-fi website, and the other will allow interactions with McMint. To keep users informed, we should add an information banner, which will direct users to a forum post detailing the changes
Example
(There's a newer version of bootstrap 4)
Acceptance Criteria
Description
All metrics should be visualized as daily line graphs if no conflicting requirements are provided for a particular metric.
Each stable asset should be reported separately, there should be a dropdown/toggle to switch between them.
All reports are denominated in $ USD if not stated otherwise.
Product usage metrics (per stablecoin)
Marketcap
Daily trading volume
Velocity (market cap/daily volume)
Transactions per day
Transactions per wallet per day
Daily mint/burn ratio
Acceptance criteria
Description
We need to add a subscription component to the website that allows users to sign up for Mento Magazine. This component will be integrated with Mailchimp to manage and store subscriber information. The setup for the Mailchimp integration will be handled by @olenovyk.
The design details for the subscription component can be found here: Designs on Figma
The component will have a two-step interaction:
Acceptance criteria
Description
For MU03 the UI needs to be updated to support new exchanges.
Namely, USDC/cBRL, USDC/cEUR and EUROC/cEUR
Acceptance Criteria
0.000000001 gets interpreted as 1e-7 which causes exception
Description
While the Lottie format animations we're using for the swap confirmation are small, the library used to display them is pretty large. As suggested by @jmrossy, it may be a good idea to swap this out for a solution smaller in size and less complex.
size of the current solution: 377K
library lottie-react (315k, gzipped 79k)
62k each animation (31K each animation)
Acceptance Criteria
Check Markus' Video for a reproduction of the problem https://discord.com/channels/966739027782955068/1065941733260660777/1255081871612575744
The issue is likely that the <main>
element has the same z-index
as the footer, they both have 20. but the <main>
needs a higher z-index to fix this I think
** Description **
After executing MU05 on testnets, add the new pools to the frontend and do a few manual trades.
** Acceptance Criteria **
Description
When attempting to swap tokens using an account connected to the site with WalletConnect swaps fail with the message "unable to complete swap"
Steps To Reproduce
Expected Result
Actual Result
Additional Info
Description
As part of Mento brand launch we are giving a fresh look to our website.
Acceptance criteria
@bayological to add tech acceptance criteria (like which tech stack should we use for landing and all of the web app)
Description
Currently, when using the 'back' button on the swap confirmation step, the selected assets revert to the default selection. Swap asset selection should remain consistent throughout the swapping process unless explicitly changed.
Acceptance Criteria
In the past users have contacted us about not being able to swap and often times the cause of this that trading limits have been reached. This issue is to add some error handling for cases when trading limits have been reach (or any other error which can be deduced from SDK errors), and provide feedback to users in these scenarios.
for additional context
This was inspired by an issue an SDK user experienced
Believe this is a use-contractkit bug but need to confirm.
If the last used wallet is Metamask but the page is loaded with the wallet disconnected, the rates don't load.
Description
The UI incorrectly rounds numbers with more than four decimal places, leading to an overestimation when preparing to swap assets. For instance, a balance of 3.04567 is being rounded up to 3.0457, causing the system to attempt swaps exceeding the user's actual balance. The fix should accurately display the user balance up to a certain number of decimal places (without rounding) & when the user uses the max balance functionality, their full and accurate max balance should be set as the input amount resulting in a balance of 0 for that asset when the swap is complete. ( e.g sushiswap )
Acceptance Criteria
Acceptance Criteria
Users are having issues connecting to MetaMask on app.mento.org using Chrome and Frame Wallet using FireFox.
See discord:
https://discord.com/channels/966739027782955068/1063035880069148703/1139244997640716361
Acceptance Criteria
Description
Implement a theme switcher feature on the site that allows users to switch between the light and dark theme. The selected theme should persist across different sessions. The implementation should align with the application's existing technology stack and design guidelines.
Designs
The design has two animations (one for light version, one for dark), I uploaded .json files with animations to google drive
Acceptance criteria
Description
For MU03 the UI needs to be updated to support new exchanges.
Namely:
Acceptance Criteria
🚧
Blocked by:
🚧
We want to deprecate the old Mento V1 DApp.
v1.5.2
production-v1
branch in mento-web has been deletedproduction-v2
branch in mento-web has been deletedCheck PR branch here that banner is gone and app still works https://mento-web-git-feat-remove-v2-banner-mentolabs.vercel.app/
Description:
Can we add some conditional formatting to the input field? Check app.uniswap.org, it does all of the mentioned below
Acceptance Criteria:
Description
When attempting to swap cUSD to axlUSDC, changing the token out from axlUSDC to CELO results in the input token(cUSD) changing to axlUSDC.
Steps To Reproduce
Expected Result
Actual Result
Issue Description:
When using our token swap interface, users can input desired output in the 'output' field to determine the necessary 'input,' or vice versa. However, if a user types a value into the 'output' field and clicks 'use max,' the system mistakenly sets the 'output' field to the maximum number of 'input' tokens. Essentially, it misinterprets the 'output' as the current 'input' because of the recent typing action in that field. The expected behavior should be that the 'use max' functionality sets the 'input' field to the maximum available tokens, irrespective of where the user has previously typed.
Acceptance Criteria:
description
Current icon for axlUSDC is actually an icon for just USDC. We need to replace it with appropriate icon provided.
SVG: https://drive.google.com/file/d/1jSHz7gPwckB9tKxDx44jdfWafr7T8IXp/view
PNG: https://drive.google.com/file/d/1ntpzRONwjv3vW5u6_yCxjZnJBeUgtJcz/view?usp=drive_link
acceptance criteria
react-select is clunky and has issues with the latest next + typescript versions
headlessui can replace all 3 and works better, while also being very lightweight
Description
There's still a rounding issue causing swaps to fail after approvals and before the swap transaction in the transaction preparation step. This is likely due to a rounding error as it only happens in some cases when the 'use max' feature is used. A quick fix could be to swap slightly less than the max balance, some negligible amount ( .00001 ).
This can be reproduced by having a balance of USDC or any bridged version, selecting it as the input token then clicking the use max button.
Acceptance Criteria
Once swaps are approved they should be approved and executed with no issue
Using Makerdojo, create a dashboard or set of dashboards that includes all metrics from this doc:
https://www.notion.so/Mento-dashboard-product-specs-a8284f986a0a4425b867f76284f1baf7
Once we have a dashboard in makerdojo, there will be a separate task to create a UI for it that will be available at info.mento.org
Description
As part of Mento brand launch we are giving a fresh look to our website.
Acceptance criteria
Description
The updates to the Mento core contracts now allow the minting/burning of stable assets using any collateral asset controlled by the reserve. Users should be able to interact with the Mento interface in the same way as they do now, with the difference that they should be able to choose CELO or USDCet when minting/burning mento stable assets.
Technical Details
In the previous version of Mento, client applications would need to know the address of the exchange contract for the pair they wished to use for trading. This could previously be retrieved by using contract kit. In this new update, the address for the exchange must be retrieved by using the discovery functions available on the Broker & BiPoolManager contracts. These functions will allow consumers to discover the id of the available exchanges, the address of the exchange provider and which assets can be swapped. The functions will be accessible via the new Mento-sdk. Once the exchange info has been retrieved, swaps can be submitted to the Broker.
Acceptance Criteria
Description
When assets are selected, there is an input amount, and the swap is valid (i.e., the user's balance is sufficient) and the 'reverse asset' button is clicked the swap continuation is triggered, sending the user to the swap confirmation step. The fix should remove this unintended side effect.
Acceptance Criteria
We want to have an overview of MSAs that are brdiged from Celo to other chain.
Should include date from all know brdiges (Portal, Axelar, Allbridge)
The report should be visualised as a table with next columns:
Bridge name
Destination chain (?)
Total $ amount locked in bridge
$ volume of assets brdiged in 24h;
$ volume of assets brdiged in 24h;
$ volume of assets unbrdiged in 24h;
$ volume of assets unbrdiged in 24h;
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.