Spaces:
Sleeping
Sleeping
| import { ethers } from "hardhat"; | |
| async function main() { | |
| // Get the deployer's address | |
| const [deployer] = await ethers.getSigners(); | |
| console.log("Deploying contracts with account:", deployer.address); | |
| // Check balance | |
| const balance = await ethers.provider.getBalance(deployer.address); | |
| console.log("Account balance:", ethers.formatEther(balance), "ETH"); | |
| // Deployment parameters | |
| // For Sepolia, use your wallet address as the platform treasury | |
| const platformTreasury = deployer.address; | |
| const defaultTaxRate = 500; // 5% (500 basis points) | |
| const defaultWhaleMinBalance = ethers.parseUnits("10000", 18); // 10,000 tokens | |
| const defaultNFTRoyalty = 1000; // 10% (1000 basis points) | |
| console.log("\nDeployment parameters:"); | |
| console.log("- Platform Treasury:", platformTreasury); | |
| console.log("- Default Tax Rate:", defaultTaxRate, "basis points (5%)"); | |
| console.log("- Default Whale Min Balance:", ethers.formatUnits(defaultWhaleMinBalance, 18), "tokens"); | |
| console.log("- Default NFT Royalty:", defaultNFTRoyalty, "basis points (10%)"); | |
| // Deploy Factory | |
| const Factory = await ethers.getContractFactory("Factory"); | |
| const factory = await Factory.deploy( | |
| platformTreasury, | |
| defaultTaxRate, | |
| defaultWhaleMinBalance, | |
| defaultNFTRoyalty | |
| ); | |
| await factory.waitForDeployment(); | |
| const factoryAddress = await factory.getAddress(); | |
| console.log("\n✅ Factory deployed to:", factoryAddress); | |
| console.log("\n📝 Save this address in your frontend .env.local file as NEXT_PUBLIC_FACTORY_ADDRESS"); | |
| // Verify deployment | |
| const economyCount = await factory.getEconomyCount(); | |
| console.log("\nInitial economy count:", economyCount.toString()); | |
| } | |
| main() | |
| .then(() => process.exit(0)) | |
| .catch((error) => { | |
| console.error(error); | |
| process.exit(1); | |
| }); | |