juice-shop

Форк
0
/
nftMintChallenge_2.sol 
31 строка · 1.1 Кб
1
pragma solidity ^0.8.0;
2

3
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
4
import "@openzeppelin/contracts/access/Ownable.sol";
5
import "@openzeppelin/contracts/utils/math/SafeMath.sol";
6
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
7

8
contract HoneyPotNFT is ERC721, Ownable {
9
    using SafeMath for uint256;
10

11
    IERC20 public token = IERC20(0x36435796Ca9be2bf150CE0dECc2D8Fab5C4d6E13);
12
    uint256 public constant mintPrice = 1000 * (10**18);
13
    uint256 public totalSupply = 0;
14

15
    string public constant fixedMetadataHash = "QmRad1vxT3soFMNx9j3bBmkABb4C86anY1f5XeonosHy3m";
16
    event NFTMinted(address indexed owner, uint256 tokenId);
17

18
    constructor() ERC721("The Enchanted Honey Pot", "EHP") {}
19

20
    function mintNFT() external {
21
        token.transferFrom(msg.sender, address(this), mintPrice);
22
        _safeMint(msg.sender, totalSupply);
23
        totalSupply = totalSupply.add(1);
24
        emit NFTMinted(msg.sender, totalSupply - 1);
25
    }
26

27
    function tokenURI(uint256 tokenId) public view override returns (string memory) {
28
        require(_exists(tokenId), "Token does not exist.");
29
        return fixedMetadataHash;
30
    }
31
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.