// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; import {Script} from "forge-std/Script.sol"; import {DevOpsTools} from "lib/foundry-devops/src/DevOpsTools.sol"; import {BasicNft} from "src/BasicNft.sol"; import {MoodNft} from "src/MoodNft.sol"; contract MintBasicNft is Script { // Sepolia Testnet BasicNft Contract = 0xE0C0086A981bA18c2d8834b9f0661C9D682a923C // Here Use CIDv1 start with bafy... // Option after open via Google browser with IPFS companion string public constant PUG_URI = "ipfs://bafybeig37ioir76s7mg5oobetncojcm3c3hxasyd4rvid4jqhy4gkaheg4/?filename=0-PUG.json"; string public HOELEEV3 = "ipfs://bafybeieh5hltp3i4hnr5sqq5f5cma72bdgfql3jt2qgw3t2nxwmmk3s4vu?filename=hoeleev3.json"; string public HOELEEDRAGON = "ipfs://bafybeiclddksjw2ufh3rzgio7iiivhbkdvrhujq4lxpyix6zwvjjpwheii?filename=dragon.json"; string public HOELEEDRAGONV2 = "https://gateway.pinata.cloud/ipfs/QmTYBuMtgfHgLhBDZebLSSoREWPc89EDV9WqCCi8CBdwes?filename=Dragon.json"; // all on pinata string public HOELEEV4 = "https://gateway.pinata.cloud/ipfs/QmdRevwgsLoKvqM7eEDYvTsMtqYDJFQCyuihjYYTuQAzJj?filename=MrHoelee.json"; // all on pinata function run() external { address mostRecentDeployed = DevOpsTools.get_most_recent_deployment( "BasicNft", block.chainid ); // Sepolia - 0x0Ec993041F1e473bCC5230fE943e7Dc2160a7aa3 //https://sepolia.etherscan.io/address/0x0ec993041f1e473bcc5230fe943e7dc2160a7aa3 //mintNftOnContract(0x95304310e2c55e83E9f43EC5487a656e8BF28990); // Sepolia //mintNftOnContract(0x5FbDB2315678afecb367f032d93F642f64180aa3); // Anvil mintNftOnContract(mostRecentDeployed); } function mintNftOnContract(address contractAddress) public { vm.startBroadcast(); BasicNft basicNft = BasicNft(contractAddress); basicNft.mintNft(HOELEEDRAGONV2); vm.stopBroadcast(); } } contract MintMoodNft is Script { // Sepolia Testnet MintMoodNft Contract - 0xCB9be8B7E6AeEA2ae6b6a97fd4B65d51e5DC6e8E function run() external { address mostRecentDeployed = DevOpsTools.get_most_recent_deployment( "MoodNft", block.chainid ); mintNftOnContract(mostRecentDeployed); } function mintNftOnContract(address contractAddress) public { vm.startBroadcast(); MoodNft moodNft = MoodNft(contractAddress); moodNft.mintNft(); vm.stopBroadcast(); } }