fix remapping and add base nft contract

This commit is contained in:
han 2025-01-16 19:32:17 +07:00
parent cb790629ba
commit 1e79751809
2 changed files with 26 additions and 2 deletions

View File

@ -3,8 +3,8 @@ src = "src"
out = "out" out = "out"
libs = ["lib", "dependencies"] libs = ["lib", "dependencies"]
remappings = [ remappings = [
"@openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.2.0/", "openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.2.0/",
"solmate/=dependencies/solmate-6.8.0/", "solmate/=dependencies/solmate-6.8.0/src/",
] ]
[dependencies] [dependencies]

24
src/NFT.sol Normal file
View File

@ -0,0 +1,24 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.28;
import {ERC721} from "solmate/tokens/ERC721.sol";
import {Strings} from "openzeppelin-contracts/utils/Strings.sol";
contract NFT is ERC721 {
uint256 public currentTokenId;
constructor(
string memory _name,
string memory _symbol
) ERC721(_name, _symbol) {}
function mintTo(address recipient) public payable returns (uint256) {
uint256 newItemId = ++currentTokenId;
_safeMint(recipient, newItemId);
return newItemId;
}
function tokenURI(uint256 id) public view virtual override returns (string memory) {
return Strings.toString(id);
}
}