Updating ERC721 and latest Solidity and OZ versions
This commit is contained in:
parent
beb0887bf9
commit
9ec3761126
|
@ -2,5 +2,8 @@
|
|||
src = "src"
|
||||
out = "out"
|
||||
libs = ["lib"]
|
||||
solc = "0.8.23"
|
||||
|
||||
# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options
|
||||
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit f73c73d2018eb6a111f35e4dae7b4f27401e9421
|
||||
Subproject commit 2f112697506eab12d433a65fdc31a639548fe365
|
|
@ -1 +1 @@
|
|||
Subproject commit 932fddf69a699a9a80fd2396fd1a2ab91cdda123
|
||||
Subproject commit 6bc1173c8e37ca7de2201a0230bb08e395074da1
|
|
@ -1,12 +1,13 @@
|
|||
// SPDX-License-Identifier: GPL-3.0
|
||||
pragma solidity ^0.8.20;
|
||||
pragma solidity ^0.8.23;
|
||||
|
||||
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/AccessControl.sol";
|
||||
|
||||
/// @custom:security-contact david@neetsec.com
|
||||
contract DCO2s is ERC721, ERC721Enumerable, AccessControl {
|
||||
contract DCO2s is ERC721, ERC721Enumerable, ERC721URIStorage, AccessControl {
|
||||
bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE");
|
||||
uint256 private _nextTokenId;
|
||||
|
||||
|
@ -19,9 +20,10 @@ contract DCO2s is ERC721, ERC721Enumerable, AccessControl {
|
|||
return "https://gateway.decentralizedscience.org/ipfs/";
|
||||
}
|
||||
|
||||
function safeMint(address to) public onlyRole(MINTER_ROLE) {
|
||||
function safeMint(address to, string memory uri) public onlyRole(MINTER_ROLE) {
|
||||
uint256 tokenId = _nextTokenId++;
|
||||
_safeMint(to, tokenId);
|
||||
_setTokenURI(tokenId, uri);
|
||||
}
|
||||
|
||||
// The following functions are overrides required by Solidity.
|
||||
|
@ -41,10 +43,19 @@ contract DCO2s is ERC721, ERC721Enumerable, AccessControl {
|
|||
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, AccessControl)
|
||||
override(ERC721, ERC721Enumerable, ERC721URIStorage, AccessControl)
|
||||
returns (bool)
|
||||
{
|
||||
return super.supportsInterface(interfaceId);
|
||||
|
|
Loading…
Reference in New Issue