Hi @Tomas_Velasquez,
Welcome to the community
I recommend having a look at: Create an ERC1155.
As you are extending ERC1155PresetMinterPauser
you should call the constructor of ERC1155PresetMinterPauser
rather than the ERC1155
constructor.
uri
isn’t defined in your contract. You could pass a value in using your constructor or set a value in a constant.
I wasn’t sure why you set your contract to be abstract
. Unless you wanted to create an ERC1155 which inherits from this contract.
You have a wide pragma, >=0.4.22 <0.8.0
, when you may be better to stick to a similar pragma to the contract you are extending.
Your contract could look something like the following:
// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.4.22 <0.8.0;
import "@openzeppelin/contracts/presets/ERC1155PresetMinterPauser.sol";
contract PruebasToken is ERC1155PresetMinterPauser {
uint256 public constant xx = 1;
uint256 public constant yy = 2;
uint256 public constant zz = 3;
constructor(string memory uri) public ERC1155PresetMinterPauser(uri) {
_mint(msg.sender, xx, 10**10, "");
_mint(msg.sender, yy, 10**10, "");
_mint(msg.sender, zz, 10**10, "");
}
}