banner
cover

Y3D V2 设计稿

A

[toc]

传送门

TL;DR:

Y3D = YFI x P3D,利用 Gamefi 进行治理的 DeFi 聚合器。

术语说明

  • uToken:底层资产(underlying token),也就是用户的本金。
  • yToken:理财资产,也就是对应 uToken 的理财策略(Strategy)。例如 yearn 中的 yDAI,y3d-v1 里面的 yyCrv, yswUSD,都是 yTokenyToken 可以脱离 Y3D 体系独立存在,也可以为空,空则表示对应的 uToken 没有相应的理财策略。用户并不直接持有 yToken 资产,而是由合约代持。
  • y_3dToken:实际持有的资产,也用户取回底层资产的凭证。

我们以 yUSDT3d 举例,在这个例子中:

  • uToken:USDT。
  • yToken:yUSDT。
  • y_3dToken: yUSDT3d。

主界面

用户体验模仿 Uniswap 即可。

Uniswap

https://ssimg.frontenduse.top/article/2020/09/15/8fd5e7abb27f6e08822d63900c713808.png

Y3D V2

https://ssimg.frontenduse.top/article/2020/09/15/bd1471311e37238de0b9fd3b5d279765.png

兑换 Swap

From :选择 uToken
To:选择 y_3dToken

注意同一个 uToken 可能因为策略,和参数的不同,产生多个 y_3dToken。初期版本我们只考虑一对一的关系。

正方向时,下面的按钮为 stake()
反方向时,下面的按钮为 unstake()

Slippage Tolerance、Add a send 删掉。
当发现 uToken 没有对应的 y_3dToken 时,提示是否创建。

一些细节,用户打开 TokenList 时,第一关键字按照自己的持仓仓位排序,第二关键字按照对应 y3dToken 的 TVL 进行排序。

需要开一个结构,记录 uToken 和 y3dToken 之间的对应关系。

治理 Gov

可以进入对应 y_3dToken 的 Dashboard,查询各种数据,类似 y3d-v1 里的 Dashboard 界面。

  • uToken:地址、额度。

  • y_3dToken:地址、额度。

  • (*) yToken:地址、额度、理财率。

  • 创建者:地址、时间。

  • P3D Ratio

  • (*) 时间锁:。

  • (*) Snapshot 治理:地址。

  • (*) 各种社群地址:。

  • (*) 各种交易对地址:。

打星号的表示 Optional。

创建 Create

自定义 y_3dToken。

https://ssimg.frontenduse.top/article/2020/09/15/2b7efc9e84cab13cf2bca7dd42830ccc.png

可以控制的参数:

  • uToken
  • yToken
  • Fee
  • Timelock

Y3D V2 对用户创建的 y3dToken 进行 Trace 并在 Swap List 展示的需求

  1. 需求描述

    用户创建 y3dToken 之后,需要有一个后端服务器,存储用户创建过的交易对信息(uToken - y3dToken),用于在 Swap 页面里选择 uToken 和 y3dToken。

    一个 uToken 可以对应多个 y3dToken,比如两个用户都可以创建基于 WETH 的 y3dToken,但是他们的治理模式、投资策略和 Fee 可能不同。

    可能需要以下几个接口:

    • getPairListByUToken(uTokenAddress: String) return PairList 根据给出的 uToken 获取所有与该 uToken 关联的交易对列表
    • uploadPairInfo(pairInfo: PairInfoObject) 上传一组新的交易对信息

    所有接口可以有公共返回信息,如接口状态 status,返回信息 message 等。

  2. 需求整体流程图

  3. uToken Info 结构

    字段名称 类型 介绍
    address String uToken 的 ERC20 地址
  4. y3dToken Info 结构

    字段名称 类型 介绍
    address String yToken 的 ERC20 地址
  5. getPairListAll 接口

    获取所有的 Pair 对信息

    返回结构(JSON 表述)

    {
        "pairList": [
            {
                "uToken": {
                    "address": "0xc778417E063141139Fce010982780140Aa0cD5Ab",
                },
                "y3dToken": {
                    "address": "0xDaC1b374a12d26F5B1159f116c2e9fFB98a94425",
                }
            }
        ]
    }
    
  6. getPairListByUToken 接口

    根据给出的 uToken 获取所有与该 uToken 关联的交易对列表

    参数信息

    参数名称 类型 描述
    uTokenAddress String uToken 地址,如 "0xc778417E063141139Fce010982780140Aa0cD5Ab"

    返回结构(JSON 表述)

    {
        "pairList": [
            {
                "uToken": {
                    "address": "0xc778417E063141139Fce010982780140Aa0cD5Ab"
                },
                "y3dToken": {
                    "address": "0xDaC1b374a12d26F5B1159f116c2e9fFB98a94425"
                }
            }
        ]
    }
    
  7. uploadPairInfo 接口

    上传新的交易对信息

    参数信息

    参数名称 类型 描述
    pairInfo PairInfoObject 交易对信息对象,见下方 JSON 表述
    {
        "uToken": {
            "address": "0xc778417E063141139Fce010982780140Aa0cD5Ab"
        },
        "y3dToken": {
            "address": "0xDaC1b374a12d26F5B1159f116c2e9fFB98a94425"
        }
    }
    

This article was posted on 瞬matataki, This article uses Knowledge Sharing 署名-非商业性使用-禁止演绎 4.0 protocol Please follow the agreement to reprint

Disclaimer: This article was uploaded and published by the user "小岛美奈子", and the content is the author's independent opinion. It does not represent the position of 瞬Matataki and does not constitute investment advice. Please be cautious.

lock

解锁 edit permissions

You have fulfilled the following unlock conditions
Loading...
Current price:
No price
Introduction

Nothing

Already held:

0

If you like, get a Fan ticket~

avatar
0/500
Comment0 Reward0