const hre = require("hardhat"); function requiredEnv(name) { const value = process.env[name]; if (!value || !value.trim()) { throw new Error(`Missing required env: ${name}`); } return value.trim(); } async function main() { const treasury = requiredEnv("TREASURY_WALLET"); const mintCurrency = (process.env.MINT_CURRENCY_ADDRESS || hre.ethers.constants.AddressZero).trim(); const mintAmountAtomic = requiredEnv("MINT_AMOUNT_ATOMIC"); const [deployer] = await hre.ethers.getSigners(); console.log("deployer:", deployer.address); console.log("network:", hre.network.name); console.log("treasury:", treasury); console.log("mint_currency:", mintCurrency); console.log("mint_amount_atomic:", mintAmountAtomic); const factory = await hre.ethers.getContractFactory("EdutHumanMembership"); const contract = await factory.deploy(treasury, mintCurrency, mintAmountAtomic); await contract.deployed(); console.log("membership_contract:", contract.address); } main().catch((err) => { console.error(err); process.exitCode = 1; });