首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算由Uniswap v3池赚取的全时全球收费?

如何计算由Uniswap v3池赚取的全时全球收费?
EN

Ethereum用户
提问于 2023-04-02 09:05:44
回答 2查看 109关注 0票数 2

是否有可能计算由Uniswap v3流动性池赚取的全时全球费用?

使用Uniswap v3池合同,我可以检索feeGrowthGlobal0X128 & feeGrowthGlobal1X128,它表示

作为Q128.128的费用增长,在池的整个生命周期中,每单位流动性收取的token0费用

但我看不出怎么计算池赚的费用总额。

另外,feeGrowthGlobal文档的注释说:This value can overflow the uint256

这也让人困惑。当它溢出时会发生什么情况,不是有关赚取费用的信息丢失了吗?

EN

回答 2

Ethereum用户

发布于 2023-04-03 03:42:43

不确定第一个问题,但对于第二个问题:严格地说,信息可能会丢失。但是,从离链的角度来看,你可以看看这条链的历史,看看它溢出了多少次。

此外,这些变量的目的是帮助跟踪uniswap v3中滴答标记之间的费用,这就是为什么它们不在乎是否溢出。如果feeGrowthGlobal溢出,计算滴答之间费用的数学没有任何问题。

然而,为了将单位转换成象征性的费用,而不是每单位流动性的费用,我不太确定。

票数 1
EN

Ethereum用户

发布于 2023-05-13 20:32:21

不计算,它已经处于全局状态,并由uniswap v3跟踪。来自v3白皮书

全局状态还跟踪两个数字: feeGrowthGlobal0 (fg,0 )和feeGrowthGlobal1 (fg,1 )。

在你取消了游泳池合同之后

代码语言:javascript
复制
pool.feeGrowthGlobal0X128().then((f) => f.toString()),

来自UniswapV3Pool.sol

代码语言:javascript
复制
/// @inheritdoc IUniswapV3PoolState
uint256 public override feeGrowthGlobal0X128;
/// @inheritdoc IUniswapV3PoolState
uint256 public override feeGrowthGlobal1X128;
票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/148394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档