+1
@wighawag这是我这边的问题吗? 还是安全帽部署中的问题?
对我来说也是一样,运行:
├─ @nomiclabs/ [email protected]
├─ @nomiclabs/ [email protected]
├─安全帽部署
├─安全帽@
├─ [email protected]
+1
这似乎已在0.8.x
引入。 使用0.7.11
对我有用。
谢谢大家的举报。
抱歉回复晚了,我目前和家人一起旅行,没有太多时间在我的笔记本电脑上。
我今天看了一下,问题是solidity-coverage在这里创建了一个新的网络对象: https :
出于同样的原因,hardhat-deploy/solidity-coverage 兼容性在过去也有类似的问题(请参阅 https://github.com/sc-forks/solidity-coverage/issues/624),而 hardhat-deploy 为它做了一个解决方法当时,但最新的 hardhat-deploy 版本依赖于向网络对象添加字段的能力,因此它也依赖于在插件导入时访问网络对象,因此我认为修复应该在solidity-coverage 中。 solidity-coverage 可以简单地修改现有的hre.network
而不是创建一个新对象,保留其他插件的任何其他添加。
对这些:
env.network.name = networkName;
env.network.config = networkConfig;
env.network.provider = provider;
env.network.isHardhatEVM = isHardhatEVM;
应该做
你怎么看@cgewicke ?
但是env
什么? 我怎么能配置呢?
@wigawag感谢您花时间进行调查!!
我希望@cgewicke能够尽快修改
env.network.name = networkName; env.network.config = networkConfig; env.network.provider = provider; env.network.isHardhatEVM = isHardhatEVM;
应该做
经测试,它有效。
env.network.name = networkName; env.network.config = networkConfig; env.network.provider = provider; env.network.isHardhatEVM = isHardhatEVM;
应该做
经测试,它有效。
em~,但什么是env
? process.env
或require('hardhat').network.isHardhatEVM
?
@GeekBerry如果你看一下 wighawag 指向的代码,你就会明白: https: //github.com/sc-forks/solidity-coverage/blob/3c0f3a5c7db26e82974873bbf61cf462072a7c6d/plugins/resources/nomiclabs.14L-js.utils.
@GeekBerry如果你看一下 wighawag 指向的代码,你就会明白: https: //github.com/sc-forks/solidity-coverage/blob/3c0f3a5c7db26e82974873bbf61cf462072a7c6d/plugins/resources/nomiclabs.14L-js.utils.
我输入node_modules/solidity-coverage/plugins/resources/nomiclabs.utils.js
并将第 136 行更改为
env.network = Object.assign({
name: networkName,
config: networkConfig,
provider: provider,
isHardhatEVM: isHardhatEVM,
}, env.network);
然后运行覆盖成功。
我猜solidity-coverage 作者可能会在下一个版本中解决这个问题。
+1
最有用的评论
我输入
node_modules/solidity-coverage/plugins/resources/nomiclabs.utils.js
并将第 136 行更改为然后运行覆盖成功。
我猜solidity-coverage 作者可能会在下一个版本中解决这个问题。