ERC1155PausableMockUpgradeable.sol 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.0;
  3. import "./ERC1155MockUpgradeable.sol";
  4. import "../token/ERC1155/extensions/ERC1155PausableUpgradeable.sol";
  5. import "../proxy/utils/Initializable.sol";
  6. contract ERC1155PausableMockUpgradeable is Initializable, ERC1155MockUpgradeable, ERC1155PausableUpgradeable {
  7. function __ERC1155PausableMock_init(string memory uri) internal onlyInitializing {
  8. __ERC1155_init_unchained(uri);
  9. __ERC1155Mock_init_unchained(uri);
  10. __Pausable_init_unchained();
  11. }
  12. function __ERC1155PausableMock_init_unchained(string memory) internal onlyInitializing {}
  13. function pause() external {
  14. _pause();
  15. }
  16. function unpause() external {
  17. _unpause();
  18. }
  19. function _beforeTokenTransfer(
  20. address operator,
  21. address from,
  22. address to,
  23. uint256[] memory ids,
  24. uint256[] memory amounts,
  25. bytes memory data
  26. ) internal virtual override(ERC1155Upgradeable, ERC1155PausableUpgradeable) {
  27. super._beforeTokenTransfer(operator, from, to, ids, amounts, data);
  28. }
  29. /**
  30. * @dev This empty reserved space is put in place to allow future versions to add new
  31. * variables without shifting down storage in the inheritance chain.
  32. * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
  33. */
  34. uint256[50] private __gap;
  35. }