Lesson: 9 Error: VM Exception while processing transaction: reverted with custom error 'InvalidConsumer()' #6521
-
Beta Was this translation helpful? Give feedback.
Answered by
Nlferu
Mar 26, 2024
Replies: 1 comment 2 replies
-
Hello @hrithikk28 You just need to add consumer in your deploy script first. // Ensure the Raffle contract is a valid consumer of the VRFCoordinatorV2Mock contract.
if (developmentChains.includes(network.name)) {
log(`Adding Consumer...`)
const vrfCoordinatorV2Mock = await ethers.getContract("VRFCoordinatorV2Mock")
await vrfCoordinatorV2Mock.addConsumer(subscriptionId, raffle.address)
log(`Consumer Successfully Added!`)
}
// Checking If Deployed Raffle Is Added To Consumer List...
// Adding Raffle Contract To Consumer List If It Is Not...
else {
const getConsumers = await vrfCoordinatorV2.getSubscription(subscriptionId)
const { 0: balance, 1: reqCount, 2: owner, 3: consumers } = getConsumers
log(`Consumers: ${consumers}`)
if (!consumers.includes(raffle.address)) {
log(`Adding Consumer...`)
const addConsumerTxResponse = await vrfCoordinatorV2.addConsumer(subscriptionId, raffle.address)
await addConsumerTxResponse.wait()
const getConsumer = await vrfCoordinatorV2.getSubscription(subscriptionId)
const { 0: balance, 1: reqCount, 2: owner, 3: consumer } = getConsumer
log(`Consumer Successfully Added! Consumers: ${consumer}`)
}
} You can checkout my solution for this here: REPO |
Beta Was this translation helpful? Give feedback.
2 replies
Answer selected by
HrithikKeshri10
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello @hrithikk28
You just need to add consumer in your deploy script first.