Git Product home page Git Product logo

legato-finance's Issues

vUSD

We would like to extend the use case of PT as well as allow staking SUI with stablecoins and issue vUSD that earns staking rewards without the risk of volatile SUI price.

At a high level, a portion of the input will be used for delta hedging on a third-party external platform. This feature may need to set a cap.

Exit the Position with YT & PT

The vault is supposed to use a combination of PT and YT to exit the position. Since PT is typically minted at a value lower than the matured vault, YT is needed to fill the gap.

[API] Track SUI Historical APY

We have the backend that tracks necessary info like token price, as the project is closely related to the network's APY. If possible, we may update the API to be able to track and store APY data, allowing the frontend to conveniently access the data and display the historical APY of the Sui network.

Update README.md

Update the project's README.md file to include information about Legato tokens, LP staking, LBP system and other relevant details.

Update Gitbook

Update the Gitbook to align with the latest information of the project and then attach the link to the website.

Yield Claim Panel

Create a UI panel for buying and selling YT tokens on the AMM. This panel should allow YT token holders to claim yield from the surplus.

Unstoppable Vault

As mentioned in #23, we should allow PT token holders from the expired vault to migrate their PT to the new ongoing vault.

The concept eases the pain of manually interacting when the vault reaches its maturity date. The system must have two active vaults at the same time unless the system enters a paused state.

Enhance Pending Withdrawal Efficiency

When withdrawing, the system selects Staked SUI with the lowest value from the vault to unstake and return SUI tokens to the user. The remaining SUI tokens are locked up in the pending pool.

We may need to improve capital efficiency and find a way to stake SUI tokens back with a certain logic ideally implementing together with #42

Mini-Rewards Distribution

We often implement a module to distribute rewards randomly to website visitors or to increase Twitter/X followers and community.ย 

Lag Staking

When staking, we require at least 1 SUI. Currently, 1 SUI is valued at $1.8 USD. However, if the price of SUI increases like $100 USD, 1 SUI may be not affordable for most of users.

Given the nature of SUI, where every smart contract is a self-sovereign object, we could allow users to deposit their desired amount, even as low as 0.1 SUI, until it reaches a certain threshold. At that point, the object would internally stake the tokens to the staking pool.

Re-Implement Claim Logic

The logic for claiming rewards from the surplus has been removed in the latest version of the vault.

Once the relevant DEX has been updated, we should reimplement this logic.

Minting PT at certain amounts doesn't get tokens

Due to an unknown reason, as shown in the screenshot below, when minting PT tokens at a certain amount, the contract won't send back PT as expected. We need to investigate further to confirm the issue.

Screenshot from 2024-03-14 22-07-15

Refactor Emergency Unstake

The current emergency unstaking process requires admin approval and since we obsoleted YT tokens. We need to find a way for stakers to withdraw by burning PT tokens in case of an emergency.

compute_optimal_value

compute_optimal_value on weight_math.move appears to be getting incorrect values on the opposite side

New Method for Listing Validators

Listing validators with the input dropdown has limited space to display information. Although we have a sliding panel, it would be much better to have a single modal to show all the information.

PT includes accumulated staking rewards

The current logic lacks the inclusion of accumulated staking rewards prior to the time of conversion.

For example, if we have 1 Staked SUI object containing 1 SUI that has been staked for 10 epochs, the rewards from the 10 epochs will be excluded when converting the object into PT tokens.

LP Staking

Develop an LP staking module to enable users to stake their LP tokens and earn Legato and relevant tokens as rewards. The module is intended to be integrated with Legato token module for minting tokens and distributing them to users.

Redesign Portfolio Page

The current portfolio page is a bit confusing, with unclear sections. It could benefit from a more intuitive layout and additional information to make it user-friendly.

New DEX Spec

We've our internal DEX for vault tokens using the constant product formula k = x * y, where we must provide token pairs equivalent to the value of vault tokens. Considering the system issues vault tokens (PT) for each timelock vault, the more timelock vaults we set up, the more liquidity we must prepare.

Legato vault tokens possess distinct characteristics that must be taken into account during the development of a new DEX. These include:

  • PT tokens represent future derivative forms of staked SUI across various timeframes
  • PT tokens are capable of being burned and minted into other PT tokens
  • The liquidity pool of PT-to-PT tokens is not as stable as that of USDC-USDT but is mathematically predictable

We may need to draft out the DEX specification that is suitable for trading our vault tokens and requires less liquidity to operate.

New Landing Page

Building out a new landing page to replace the existing Canva website.

Also, the new landing page is merged with the dapp, allowing us to maintain everything under a single roof.

Helper API

We need to build an API for two main purposes:

  • Store SUI token prices in USD instead of fetching directly from CoinMarketCap to save external API call quota.
  • Store historical data on Legato's DEX.

LP Deployment Failed

By unknown reasons, LP deployment has failed when calling add_yt_circulation(), which was supposed to internally setup LP. It's assumed that the type is supposed to be passed instead of being hard-coded.

Legato Token

Create and deploy Legato token contract with a max supply of 888 mil. tokens.

  • Public sales and incentives are directly debited to LP staking and DEX modules.
  • Implement linear vesting over 2.5 years for portions allocated to the team and supporters.
  • Allocation for bounties and reserves for future fundraising have no strict timeframe.

Remove Order-book DEX

Our new approach is to rely on an AMM-based DEX and enhance its liquidity usage and dynamic constants. Therefore, we need to remove the order book-based system from the repository, which is unlike other modules.

Hybrid DEX

AMM is convenient but requires someone to add liquidity first and take the risk of impermanent loss. The order book is an alternative where upfront liquidity is not needed.

We would need to implement an order book system alongside AMM to allow users to trade Staked SUI and PT conveniently

Finalize Public Vault

Finalize the public version of the protocol by adding all necessary test cases. Ideally, enable trading of PT and YT through Legato's DEX.

Logic for Issuing VAULT Tokens

We've introduced the VAULT token to pair with YT tokens in the AMM. Unlike SUI, which may result in the loss of staking opportunities and be costly. The VAULT token is designed to function as the settlement currency for the entire system.

However, there's a need to create the logic for a fair launch, specifying the amount released per epoch and identifying who qualifies to receive it.

LBP System

Build a Liquidity Bootstrapping Pool system for the initial distribution of Legato tokens and enable other projects to launch their tokens. Typically, IDOs take 30%, we should provide a solution that requires a lower cut.

USDC as Settlement

Having a separate YT for each vault negatively impacts user experience. We should use a single currency such as USDC, that users can buy and claim yield for all pools simultaneously. The DEX router should be added accordingly.

Coin Metadata

Both PT and YT lack coin metadata, which doesn't look good when using third-party services like wallets or block explorers. I suggest implementing the same approach as in create_currency()

Separating AMM from the Repository

We're separating the AMM into another new repo that will include features more related to DEX including LBP and LEGATO tokens. The repository will only contain the timelock vault.

Emit Events

Update smart contracts to emit events for important actions and state changes. Ideally, we would add more tests to enhance security and ensure robustness.

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.