Files
foundry-nft/script/Interactions.s.sol
T
hoelee eabb9021de
CI / Foundry project (push) Has been cancelled
After Deployed to Sepolia Testnet
2024-08-19 15:43:51 +08:00

67 lines
2.5 KiB
Solidity

// 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();
}
}