Initial commit with 🏗️ Scaffold-ETH 2 @ 1.0.5

This commit is contained in:
han
2026-01-10 18:17:37 +07:00
commit 98751c5b87
165 changed files with 29073 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
contract YourCollectible is ERC721, ERC721Enumerable, ERC721URIStorage, Ownable {
uint256 public tokenIdCounter;
constructor() ERC721("YourCollectible", "YCB") Ownable(msg.sender) {}
function _baseURI() internal pure override returns (string memory) {
return "https://ipfs.io/ipfs/";
}
function mintItem(address to, string memory uri) public returns (uint256) {
tokenIdCounter++;
uint256 tokenId = tokenIdCounter;
_safeMint(to, tokenId);
_setTokenURI(tokenId, uri);
return tokenId;
}
// Override functions from OpenZeppelin ERC721, ERC721Enumerable and ERC721URIStorage
function _update(
address to,
uint256 tokenId,
address auth
) internal override(ERC721, ERC721Enumerable) returns (address) {
return super._update(to, tokenId, auth);
}
function _increaseBalance(address account, uint128 value) internal override(ERC721, ERC721Enumerable) {
super._increaseBalance(account, value);
}
function tokenURI(uint256 tokenId) public view override(ERC721, ERC721URIStorage) returns (string memory) {
return super.tokenURI(tokenId);
}
function supportsInterface(
bytes4 interfaceId
) public view override(ERC721, ERC721Enumerable, ERC721URIStorage) returns (bool) {
return super.supportsInterface(interfaceId);
}
}