-
Notifications
You must be signed in to change notification settings - Fork 0
/
02-deploy-dynamic-svg-nft.js
39 lines (33 loc) · 1.48 KB
/
02-deploy-dynamic-svg-nft.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
const { network } = require("hardhat")
const { networkConfig, developmentChains } = require("../helper-hardhat-config")
const { verify } = require("../utils/verify")
const fs = require("fs")
module.exports = async ({ getNamedAccounts, deployments }) => {
const { deploy, log } = deployments
const { deployer } = await getNamedAccounts()
const chainId = network.config.chainId
let ethUsdPriceFeedAddress
if (chainId == 31337) {
// Find ETH/USD price feed
const EthUsdAggregator = await deployments.get("MockV3Aggregator")
ethUsdPriceFeedAddress = EthUsdAggregator.address
} else {
ethUsdPriceFeedAddress = networkConfig[chainId].ethUsdPriceFeed
}
const lowSVG = fs.readFileSync("./images/dynamicNft/frown.svg", { encoding: "utf8" })
const highSVG = fs.readFileSync("./images/dynamicNft/happy.svg", { encoding: "utf8" })
log("----------------------------------------------------")
arguments = [ethUsdPriceFeedAddress, lowSVG, highSVG]
const dynamicSvgNft = await deploy("DynamicSvgNft", {
from: deployer,
args: arguments,
log: true,
waitConfirmations: network.config.blockConfirmations || 1,
})
// Verify the deployment
if (!developmentChains.includes(network.name) && process.env.ETHERSCAN_API_KEY) {
log("Verifying...")
await verify(dynamicSvgNft.address, arguments)
}
}
module.exports.tags = ["all", "dynamicsvg", "main"]