作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 BSC 的分支在 hardhat 网络上测试我的合约。
我正在部署我的具有铸币功能的代币合约:
// @dev Creates `_amount` token to `_to`. Must only be called by the owner (MasterChef).
function mint(address _to, uint256 _amount) public onlyOwner {
_mint(_to, _amount);
_moveDelegates(address(0), _delegates[_to], _amount);
}
然后我使用 > npx hardhat test
在测试中部署它,它将运行这段代码的测试:
...
it("Should deploy", async () => {
token = await Token.deploy();
await token.deployed();
console.debug(`\t\t\tToken Contract Address: ${cyan}`, token.address);
const supply = await token.totalSupply()
console.debug(`\t\t\tToken totalSupply: ${yellow}`, supply);
await token.mint(owner.address, web3.utils.toWei("1000", 'ether'))
console.debug(`\t\t\tToken owner balance: ${cyan}`, token.balanceOf(owner.address));
});
...
测试打印前 2 个控制台调试正确:
Token Contract Address: 0x5FbDB2315678afecb367f032d93F642f64180aa3
Token totalSupply: 0
token.totalSupply()
也可以正常工作,因此 token 已正确部署,但是当它必须调用 token.mint()
时会出现此错误:
TypeError: token.mint is not a function
at Context.<anonymous> (test/general.js:102:21)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
我尝试清理所有运行 > npx hardhat clean
的工件并删除所有缓存,但我仍然有错误
最佳答案
如果您声明了两个 mint 函数,那么您必须明确使用完全限定的签名。示例:
token["mint(address,uint256)"](owner.address, web3.utils.toWei("1000", 'ether'))
我在这里找到了解决方案 https://github.com/ethers-io/ethers.js/issues/407
关于blockchain - 安全帽测试 : <functionName> is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70364713/
我开始了我的第一个区 block 链教程,它是: https://www.youtube.com/watch?v=9oERTH9Bkw0&t=696s repo :https://github.com
我是一名优秀的程序员,十分优秀!