智能合约 Pair Uniswap V2 中的函数sync()是从哪里调用的

问题描述 投票:0回答:1

据我所知,Pair合约将使用TWPA来确保价格平均,这个_update函数在Mint、Burn、Swap时被调用。如果平均周期没有上述交易,则会调用Sync函数更新平均价格。那么 Sync 是从哪里调用的呢?是从合约之外的Service后端调用的吗?

@inheritdoc IPool 函数sync() 外部不可重入 {
_update(IERC20(token0).balanceOf(地址(这个)),IERC20(token1).balanceOf(地址(这个)),rese rve0,reserve1); }

blockchain smartcontracts uniswap
1个回答
0
投票

sync()
函数对于谁可以调用它没有任何限制。任何人都可以从服务服务器调用它,甚至可以从您的地址手动调用它,只要他们愿意。

Uniswap V2 白皮书描述了该功能的预期用途:

防止定制代币实施可以更新配对合约的 平衡,并更优雅地处理总供应量可以大于 2112 的代币, Uniswap v2 有两个纾困功能:

sync()
skim()

sync()
在令牌异步的情况下充当恢复机制 减少货币对的余额。在这种情况下,交易将收到次优汇率,如果没有 流动性提供者愿意纠正这种情况,该货币对就陷入困境。
sync()
存在可设置 合约的储备金达到当前余额,提供了一定程度的优雅恢复 从这个情况来看。

© www.soinside.com 2019 - 2024. All rights reserved.