ERC1155MockUpgradeable.sol 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.0;
  3. import "../token/ERC1155/ERC1155Upgradeable.sol";
  4. import "../proxy/utils/Initializable.sol";
  5. /**
  6. * @title ERC1155Mock
  7. * This mock just publicizes internal functions for testing purposes
  8. */
  9. contract ERC1155MockUpgradeable is Initializable, ERC1155Upgradeable {
  10. function __ERC1155Mock_init(string memory uri) internal onlyInitializing {
  11. __ERC1155_init_unchained(uri);
  12. }
  13. function __ERC1155Mock_init_unchained(string memory) internal onlyInitializing {}
  14. function setURI(string memory newuri) public {
  15. _setURI(newuri);
  16. }
  17. function mint(
  18. address to,
  19. uint256 id,
  20. uint256 value,
  21. bytes memory data
  22. ) public {
  23. _mint(to, id, value, data);
  24. }
  25. function mintBatch(
  26. address to,
  27. uint256[] memory ids,
  28. uint256[] memory values,
  29. bytes memory data
  30. ) public {
  31. _mintBatch(to, ids, values, data);
  32. }
  33. function burn(
  34. address owner,
  35. uint256 id,
  36. uint256 value
  37. ) public {
  38. _burn(owner, id, value);
  39. }
  40. function burnBatch(
  41. address owner,
  42. uint256[] memory ids,
  43. uint256[] memory values
  44. ) public {
  45. _burnBatch(owner, ids, values);
  46. }
  47. /**
  48. * @dev This empty reserved space is put in place to allow future versions to add new
  49. * variables without shifting down storage in the inheritance chain.
  50. * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
  51. */
  52. uint256[50] private __gap;
  53. }