Added task
This commit is contained in:
@@ -1,18 +1,89 @@
|
||||
// imports
|
||||
const { ethers } = require("hardhat");
|
||||
const { ethers, run, network } = require("hardhat");
|
||||
|
||||
// async main
|
||||
async function main() {
|
||||
const verifyOnly = false;
|
||||
if (verifyOnly == true) {
|
||||
const address = "0xF90F7edF515001CD4293255bfaF7D17ffa415e91";
|
||||
|
||||
const ETHERSCAN_API_KEY_VERIFY = process.env.ETHERSCAN_API_KEY;
|
||||
console.log("Network config:", network.config);
|
||||
console.log("ChainId: " + network.config.chainId);
|
||||
if (network.config.chainId === 11155111) {
|
||||
console.log("Currently on Sepolia Testnet");
|
||||
if (ETHERSCAN_API_KEY_VERIFY !== undefined) {
|
||||
console.log("Verifying contract...");
|
||||
await verify(address, []);
|
||||
console.log("Verification complete");
|
||||
} else {
|
||||
console.log("ETHERSCAN_API_KEY is undefined");
|
||||
}
|
||||
}
|
||||
if (true) return;
|
||||
}
|
||||
|
||||
const simpleStorageFactory =
|
||||
await ethers.getContractFactory("SimpleStorage");
|
||||
console.log("Deploying contract...");
|
||||
const simpleStorage = await simpleStorageFactory.deploy();
|
||||
await simpleStorage.deployed();
|
||||
console.log("Deployed contract to: " + simpleStorage.address);
|
||||
|
||||
const ETHERSCAN_API_KEY = process.env.ETHERSCAN_API_KEY;
|
||||
// No need verify for local hardhat network
|
||||
// 31337 - Local Hardhat Network
|
||||
// 5777 - Local Ganache Network
|
||||
// 11155111 - Sepolia Testnet
|
||||
|
||||
console.log("Network config:", network.config);
|
||||
console.log("ETHERSCAN_API_KEY:", ETHERSCAN_API_KEY);
|
||||
|
||||
// Need to delete artifacts & cache folder first
|
||||
if (network.config.chainId === 31337) {
|
||||
console.log("Currently on Local Hardhat");
|
||||
}
|
||||
if (network.config.chainId === 11155111) {
|
||||
console.log("Currently on Sepolia Testnet");
|
||||
if (ETHERSCAN_API_KEY !== undefined) {
|
||||
console.log("Waiting for 6 block confirmations...");
|
||||
await simpleStorage.deployTransaction.wait(6);
|
||||
console.log("Verifying contract...");
|
||||
await verify(simpleStorage.address, []);
|
||||
console.log("Verification complete");
|
||||
} else {
|
||||
console.log("ETHERSCAN_API_KEY is undefined");
|
||||
}
|
||||
} else {
|
||||
console.log("Not on Sepolia Testnet");
|
||||
}
|
||||
|
||||
const currentValue = await simpleStorage.viewMyNumber();
|
||||
console.log("Current Value is: " + currentValue);
|
||||
|
||||
// Update the current value
|
||||
const transactionResponse = await simpleStorage.storeMyNumber(7296);
|
||||
await transactionResponse.wait(1);
|
||||
const updatedValue = await simpleStorage.viewMyNumber();
|
||||
console.log("Updated Value is: " + updatedValue);
|
||||
}
|
||||
|
||||
// Auto verify contract in etherscan
|
||||
//async function verify(contractAddress, args) {}
|
||||
async function verify(contractAddress, args) {
|
||||
console.log("Verifying contract...");
|
||||
try {
|
||||
await run("verify:verify", {
|
||||
address: contractAddress,
|
||||
constructorArguments: args,
|
||||
});
|
||||
} catch (e) {
|
||||
if (e.message.toLowerCase().includes("already verified")) {
|
||||
console.log("Already Verified!");
|
||||
} else {
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// main
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user