uniswapV3根据sqrtPriceX96计算价格,有的代币是对的而有的是错的。

uniswapV3根据sqrtPriceX96计算价格,有的代币是对的而有的是错的。求大佬解答! 代码如下

const sqrtPriceX96=2135301575491274202111253738744 
const ethPrice=2532.06 
const tokenA = {decimals: 18}
const tokenB = {decimals: 18}
const price = ((sqrtPriceX96 / 2 ** 96) ** 2 / 10 ** (tokenA.decimals - tokenB.decimals)) * ethPrice;
console.log(price);
// 正确的价格应该是3.61

对的代币:合约: 0xA9B1Eb5908CfC3cdf91F9B8B3a74108598009096 错的代币:合约: 0xda31d0d1bc934fc34f7189e38a413ca0a5e8b44f 错的计算的价格特别大:

请先 登录 后评论

3 个回答

Tiny熊 - 布道者
  擅长:智能合约,以太坊
请先 登录 后评论
Phi·Wallet - 区块链爱好者和从业者
请先 登录 后评论
Phi·Wallet - 区块链爱好者和从业者
请先 登录 后评论
  • 3 关注
  • 2 收藏,872 浏览
  • zoro 提出于 2024-01-17 11:42