UUPSUpgradeableMockUpgradeable.sol 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.0;
  3. import "../CountersImplUpgradeable.sol";
  4. import "../../proxy/utils/UUPSUpgradeable.sol";
  5. import "../../proxy/utils/Initializable.sol";
  6. contract UUPSUpgradeableMockUpgradeable is Initializable, CountersImplUpgradeable, UUPSUpgradeable {
  7. function __UUPSUpgradeableMock_init() internal onlyInitializing {
  8. __CountersImpl_init_unchained();
  9. __ERC1967Upgrade_init_unchained();
  10. __UUPSUpgradeable_init_unchained();
  11. __UUPSUpgradeableMock_init_unchained();
  12. }
  13. function __UUPSUpgradeableMock_init_unchained() internal onlyInitializing {
  14. }
  15. // Not having any checks in this function is dangerous! Do not do this outside tests!
  16. function _authorizeUpgrade(address) internal virtual override {}
  17. uint256[50] private __gap;
  18. }
  19. contract UUPSUpgradeableUnsafeMockUpgradeable is Initializable, UUPSUpgradeableMockUpgradeable {
  20. function __UUPSUpgradeableUnsafeMock_init() internal onlyInitializing {
  21. __CountersImpl_init_unchained();
  22. __ERC1967Upgrade_init_unchained();
  23. __UUPSUpgradeable_init_unchained();
  24. __UUPSUpgradeableMock_init_unchained();
  25. __UUPSUpgradeableUnsafeMock_init_unchained();
  26. }
  27. function __UUPSUpgradeableUnsafeMock_init_unchained() internal onlyInitializing {
  28. }
  29. function upgradeTo(address newImplementation) external virtual override {
  30. ERC1967UpgradeUpgradeable._upgradeToAndCall(newImplementation, bytes(""), false);
  31. }
  32. function upgradeToAndCall(address newImplementation, bytes memory data) external payable virtual override {
  33. ERC1967UpgradeUpgradeable._upgradeToAndCall(newImplementation, data, false);
  34. }
  35. uint256[50] private __gap;
  36. }