Open
Description
Hello,
I am having this issue,
bilgekaangencdogan@bilgekaangencdogan:~/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc$ yarn hardhat deploy
yarn run v1.22.22
warning package.json: No license field
$ /home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/.bin/hardhat deploy
WARNING: You are currently using Node.js v21.7.3, which is not supported by Hardhat. This can lead to unexpected behavior. See https://hardhat.org/nodejs-versions
Nothing to compile
Local network detected! Deploying mocks...
deploying "VRFCoordinatorV2Mock" (tx: 0x4e74378c5b2b11e352c170557032ab3fee375d54241c07e8580beab5e0cbd769)...: deployed at 0x5FbDB2315678afecb367f032d93F642f64180aa3 with 2984688 gas
Mocks Deployed!!
------------------------------------------------------------------
An unexpected error occurred:
Error: ERROR processing /home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/deploy/01-deploy-raffle.js:
Error: invalid address (argument="address", value=undefined, code=INVALID_ARGUMENT, version=address/5.7.0) (argument="vrfCoordinatorV2", value=undefined, code=INVALID_ARGUMENT, version=abi/5.7.0)
at Logger.makeError (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/@ethersproject/logger/src.ts/index.ts:269:28)
at Logger.throwError (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/@ethersproject/logger/src.ts/index.ts:281:20)
at Logger.throwArgumentError (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/@ethersproject/logger/src.ts/index.ts:285:21)
at AddressCoder.Coder._throwError (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/@ethersproject/abi/src.ts/coders/abstract-coder.ts:68:16)
at AddressCoder.encode (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/@ethersproject/abi/src.ts/coders/address.ts:22:18)
at /home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/@ethersproject/abi/src.ts/coders/array.ts:71:19
at Array.forEach (<anonymous>)
at pack (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/@ethersproject/abi/src.ts/coders/array.ts:54:12)
at TupleCoder.encode (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/@ethersproject/abi/src.ts/coders/tuple.ts:54:20)
at AbiCoder.encode (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/@ethersproject/abi/src.ts/abi-coder.ts:111:15)
at DeploymentsManager.executeDeployScripts (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/hardhat-deploy/src/DeploymentsManager.ts:1215:19)
at DeploymentsManager.runDeploy (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/hardhat-deploy/src/DeploymentsManager.ts:1061:5)
at SimpleTaskDefinition.action (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/hardhat-deploy/src/index.ts:450:5)
at Environment._runTaskDefinition (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/hardhat/src/internal/core/runtime-environment.ts:359:14)
at Environment.run (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/hardhat/src/internal/core/runtime-environment.ts:192:14)
at SimpleTaskDefinition.action (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/hardhat-deploy/src/index.ts:601:32)
at Environment._runTaskDefinition (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/hardhat/src/internal/core/runtime-environment.ts:359:14)
at Environment.run (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/hardhat/src/internal/core/runtime-environment.ts:192:14)
at SimpleTaskDefinition.action (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/hardhat-deploy/src/index.ts:690:5)
at Environment._runTaskDefinition (/home/bilgekaangencdogan/Desktop/FreeCodeCampBlockchain/hardhat-smartcontract-lottery-fcc/node_modules/hardhat/src/internal/core/runtime-environment.ts:359:14)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
you can find my related files below
01-deploy-raffles
:
const { network, ethers } = require("hardhat")
const { developmentChains, networkConfig } = require("../helper-hardhart-config")
const { verify } = require("../utils/verify")
const VRF_SUB_FUND_AMOUNT = ethers.parseEther("1")
module.exports = async function ({ getNamedAccounts, deployments }) {
const { deploy, log } = deployments
const { deployer } = await getNamedAccounts()
const chainId = network.config.chainId
let vrfCoordinatorV2Address, subscriptionId, vrfCoordinatorV2Mock
if (developmentChains.includes(network.name)) {
const vrfCoordinatorV2Mock = await ethers.getContract("VRFCoordinatorV2Mock")
vrfCoordinatorV2Address = vrfCoordinatorV2Mock.address
const transactionResponse = await vrfCoordinatorV2Mock.createSubscription()
const transactionReceipt = await transactionResponse.wait(1)
subscriptionId = transactionReceipt.logs[0].args.subId
// Fund the subscription
// Usually, you'd need the link token on a real network
await vrfCoordinatorV2Mock.fundSubscription(subscriptionId, VRF_SUB_FUND_AMOUNT)
} else {
vrfCoordinatorV2Address = networkConfig[chainId]["vrfCoordinatorV2"]
subscriptionId = networkConfig[chainId]["subscriptionId"]
}
const entranceFee = networkConfig[chainId]["entranceFee"]
const gasLane = networkConfig[chainId]["gasLane"]
const callbackGasLimit = networkConfig[chainId]["callbackGasLimit"]
const interval = networkConfig[chainId]["interval"]
const args = [
vrfCoordinatorV2Address,
entranceFee,
gasLane,
subscriptionId,
callbackGasLimit,
interval,
]
const raffle = await deploy("Raffle", {
from: deployer,
args: args,
log: true,
waitConfirmations: network.config.blockConfirmations || 1,
})
// Ensure the Raffle contract is a valid consumer of the VRFCoordinatorV2Mock contract.
if (developmentChains.includes(network.name)) {
const vrfCoordinatorV2Mock = await ethers.getContract("VRFCoordinatorV2Mock")
await vrfCoordinatorV2Mock.addConsumer(subscriptionId, raffle.address)
}
if (!developmentChains.includes(network.name) && process.env.ETHERSCAN_API_KEY) {
log("Verifying...")
await verify(raffle.address, args)
}
log("---------------------------------------------------------------")
}
module.exports.tags = ["all", "raffle"]
helper-hardhat-config.js
:
const { ethers } = require("hardhat")
const networkConfig = {
11155111: {
name: "sepolia",
vrfCoordinatorV2: "0x9DdfaCa8183c41ad55329BdeeD9F6A8d53168B1B",
entranceFee: ethers.parseEther("0.01"),
gasLane: "0x787d74caea10b2b357790d5b5247c2f63d1d91572a9846f780606e4d953677ae",
subscriptionId: "0",
callbackGasLimit: "500000", //500,000
interval: "30",
},
31337: {
name: "hardhat",
entranceFee: ethers.parseEther("0.01"),
gasLane: "0x787d74caea10b2b357790d5b5247c2f63d1d91572a9846f780606e4d953677ae",
callbackGasLimit: "500000", //500,000
interval: "30",
},
}
const developmentChains = ["hardhat", "localhost"]
module.exports = {
networkConfig,
developmentChains,
}
VRFCoordinatorV2Mock.sol
:
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
import "@chainlink/contracts/src/v0.8/vrf/mocks/VRFCoordinatorV2Mock.sol";
I think there is a conflict with vrfCoordinatorV2
and VRFCoordinatorV2Mock
, but I could not resolve it.
Thanks in advance!!
P.S: I know some people opened some issues about that error, but solutions in those issues did work for me, that is why I opened this issue, so please don't be mad at me @PatrickAlphaC :D
Metadata
Metadata
Assignees
Labels
No labels