首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >进口Openzeppelin合同与GitHub合同不同

进口Openzeppelin合同与GitHub合同不同
EN

Ethereum用户
提问于 2022-04-18 18:53:10
回答 1查看 314关注 0票数 0

我正在尝试从OpenZeppelin合同存储库导入ERC2981.sol。在他们的GitHub页面中,royaltyInfo是一个public函数。但是由于某种原因,当我在我的项目中导入它时,这个函数是external。这是一个(公开的)功能:

https://github.com/OpenZeppelin/openzeppelin-contracts/blob/5a75065659a65e65bb04890192e3a4bcb7917fff/contracts/token/common/ERC2981.sol#L43

但在Remix上,这就是它看起来的样子,是external (在.debs/npm/@openzeppelin/contracts@4.5.0/token/commonERC2981.sol内部)。

我就是这样导入的:

代码语言:javascript
复制
pragma solidity ^0.8.0;
import "@openzeppelin/contracts@4.5.0/token/common/ERC2981.sol";

我正在使用0.8.7+commit.e28d00a7作为Remix中的一个可靠的编译器。

我的问题是:我如何解决这个问题?我可以在我的硬帽子部署中将external更改为public,但我不喜欢这样做(手动更改)。

EN

回答 1

Ethereum用户

发布于 2022-04-18 20:42:37

这一变化似乎发生在过去3周内,v4.5.0于2月9日发布。尝试在import语句中使用预发布@4.6.0-rc.0而不是@4.5.0。在使用这些预发行版时要小心,因为可能会有bug。您应该会很好,但是在部署到Mainnet之前,我会检查您在那个GitHub中看到的代码。

代码语言:javascript
复制
pragma solidity ^0.8.0;
import "@openzeppelin/contracts@4.6.0-rc.0/token/common/ERC2981.sol";
票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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