Sure, thank you !
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/security/Pausable.sol";
contract ContractName is ERC1155, Ownable, Pausable {
constructor() ERC1155("ipfs://hash/{id}.json") {
_mint(msg.sender, 0, 10000000000 * 10 ** 18, "something");
_mint(msg.sender, 1, 10000000 * 10 ** 18, "somethingelse");
_mint(msg.sender, 2, 10000 * 10 ** 18, "rainbows");
}
function setURI(string memory newuri) public onlyOwner {
_setURI(newuri);
}
function pause() public onlyOwner {
_pause();
}
function unpause() public onlyOwner {
_unpause();
}
function _beforeTokenTransfer(address operator, address from, address to, uint256[] memory ids, uint256[] memory amounts, bytes memory data)
internal
whenNotPaused
override
{
super._beforeTokenTransfer(operator, from, to, ids, amounts, data);
}
}```