参数0中遇到错误:未定义的无效值提供给:HardhatNetworkConfig



我的智能合约必须检查OpenSea OpenStore合约的余额,所以我需要能够分叉多边形主网。我希望每个测试都使用相同的fork重新开始,所以我在beforeEach中调用hardhat_reset。但我得到了一个无法理解的错误:

"before each" hook for "<very first 'it' under first 'describe'>":
InvalidArgumentsError: Errors encountered in param 0: Invalid value undefined supplied to : HardhatNetworkConfig | undefined/forking: RpcForkConfig | undefined | undefined/jsonRpcUrl: string

我的代码看起来是这样的(有删节,用省略号填充标准样板(

import ....
import * as helpers from "@nomicfoundation/hardhat-network-helpers"
....
async function deployContract(addr=myAddr) {
await ethers.provider.send("hardhat_impersonateAccount", [addr])
helpers.setBalance(addr, "0x100000000000000000000")
const signer = await ethers.getSigner(addr)
const cf = await ethers.getContractFactory("MyContractName", signer)
contract = await cf.deploy()
}
beforeEach(async () => {
await network.provider.request({
method: "hardhat_reset",
params: [{
forking: {
url: "https://polygon-mainnet.g.alchemy.com/v2/" + apiKey,
blockNumber: 31911877
}
}]
})
const wallets = waffle.provider.getWallets()
wallet = wallets[0]
await deployContract()
})

请注意,如果我将forking参数数据移动到我的hardhat.config.ts,我就不会遇到这个问题——在这种情况下,测试执行得很好,只是因为在测试之间没有重置任何内容,所以第一个测试中执行的操作会打乱后面测试中的操作。

谢谢!

forking参数下,用jsonRpcUrl替换url

我看到后才意识到这一点https://stackoverflow.com/a/71811223/19350337

相关内容

  • 没有找到相关文章

最新更新