0

Uniswap v3 的小彩蛋:NFT 和 LP 迁移工具

 3 months ago
source link: https://liaoph.com/uniswap-v3-7/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Alpha leak

从 uniswap v3 公开初版的代码到现在已经一个多月了,这期间 uniswap-v3-periphery 仓库的合约更新了很多代码。据粗浅观察,主要有以下 2 个改动:

  • 优化了 LP Token,由之前的普通 ERC721 token 变成了带动态效果 SVG 图片的 NFT token
  • 增加了一个 migrator 合约,可以将 uniswap v2 LP 或者类 uniswap v2 LP(说的就是你,sushiswap)一键迁移为 uniswap v3 LP.

NFT Token

Uniswap v3 在生成 NFT Token 时,会根据提供 LP 的仓位信息,生成一个专属的 NFT Token. 其效果如下:

nft-token

通常,我们见到的 NFT 都是将图片或视频保存在 IPFS 或其他去中心化存储平台中,在链上只保存一个链接。而 Uniswap v3 的这些 LP NFT 中的动态效果都是通过合约在链上动态生成的 svg 图片,即在合约中动态生成一个 svg 矢量图并将其编码保存到链上的 NFT token 中。这些操作无疑也会增加用户的 gas 开销,但是用户好像也别无他选,好在流动性添加/移除一般来说并不是一个很频繁的操作。

这个 NFT token 会随着 LP 信息不同而产生一些不同的效果,例如曲线效果,颜色,文字内容等。

NFT token 中还加入了一个小彩蛋,有概率生成一个稀有版本 NFT,带旋转星星特效。使用的随机算法可以参考代码。我把他们的稀有特效代码加入到上面的 svg 图片中,效果如下(右下角那个旋转的星星):

super-rare-nft-token

另外提一句,这个 SVG 图片在我的浏览器中运行起来是比较卡的,不知道是不是个例。v3 版本发布在即,应该也没有时间去优化了。

Migrator

v3 中还新增了一个 migrator 合约,这个合约比较简单,可以一键将 uniswap v2 的 LP 迁移成为 v3 LP,并且它是可以用来迁移所有 uniswap v2 兼容 AMM 的 LP. 它很大概率会被用来针对 sushiswap,让用户从 sushiswap 迁移到 uniswap v3 中去。



About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK