再現するには:
yarn
yarn coverage
そして、あなたはこのエラーを得るはずです:
+1
@wighawagそれは私の側の問題ですか? それともhardhat-deployの問題ですか?
私も同じです、走っています:
├─@ nomiclabs / [email protected]
├─@ nomiclabs / [email protected]
├─[email protected]
├─[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は、既存のhre.network
を変更するだけで、他のプラグインからの追加を維持できます。
これらに:
env.network.name = networkName;
env.network.config = networkConfig;
env.network.provider = provider;
env.network.isHardhatEVM = isHardhatEVM;
それをすべき
@cgeweckeはどう思い
しかし、 env
何ですか? どうすれば設定できますか?
@wighawag調査に時間を
@cgeweckeが
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 :
@GeekBerry wighawagが指しているコードを見ると、次のことがわかります: https :
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
ねえ、問題はソリディティカバレッジ側にあります。hardhat-deployでは多くのことができないため、問題をクローズします。
私のテンプレートでは、solidity-coverageにpatch-package
でパッチを適用し、機能させています。https : ください。 .7.16.patch
solidity-coverageで修正するこのPRがあります: //github.com/sc-forks/solidity-coverage/pull/647
最も参考になるコメント
node_modules/solidity-coverage/plugins/resources/nomiclabs.utils.js
をハックして、行136をに変更しますその後、カバレッジを正常に実行します。
Solidity-coverageの作成者は、この問題を次のバージョンで修正する可能性があると思います。