Views
No views yet
address public owner;
uint256 public cost;
constructor(
string memory _name,
string memory _symbol,
uint256 _cost
) ERC721(_name, _symbol) {
owner = msg.sender;
cost = _cost;
}
function mint(string memory tokenURI) public payable {
require(msg.value >= cost);
_tokenIds.increment();
uint256 newItemId = _tokenIds.current();
_mint(msg.sender, newItemId);
_setTokenURI(newItemId, tokenURI);
}
function totalSupply() public view returns (uint256) {
return _tokenIds.current();
}
function withdraw() public {
require(msg.sender == owner);
(bool success, ) = owner.call{value: address(this).balance}("");
require(success);
}