Solidity 调用 pancakeswap v3 合约异常

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

任何人都可以帮忙指出为什么下面的代码会出现执行恢复异常? 我在 BSC 上部署并使用 0x36696169C63e42cd08ce11f5deeBbCeBae652050 进行调用 提前谢谢你。

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.25;
import ‘@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol’;

contract BulkChecker {
function getETHPrice(address pool) public view returns (uint160) {
(uint160 sqrtPriceX96,) =IUniswapV3Pool(pool).slot0();
return sqrtPriceX96;
}
}

代码运行良好并返回 sqrtPriceX96;

solidity uniswap pancakeswap
1个回答
0
投票

您好,基本上您的合约是从 @uniswap/v3-core 导入的,这是一个主要在以太坊网络上运行的协议。币安智能链尽管兼容 EVM,但本身并不支持 Uniswap V3 池。相反,BSC 有自己的去中心化交易所,这是第一个和第二个错误的接口导入。既然你在BSC上工作,你应该使用在BSC上运行的DEX提供的接口,即PancakeSwap

这是一个例子

// SPDX 许可证标识符:MIT 杂注可靠性 ^0.8.25;

// 导入PancakeSwap接口 导入“/IPancakeSwapPool.sol”;

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