ClashingImplementationUpgradeable.sol 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.0;
  3. import "../proxy/utils/Initializable.sol";
  4. /**
  5. * @dev Implementation contract with an admin() function made to clash with
  6. * @dev TransparentUpgradeableProxy's to test correct functioning of the
  7. * @dev Transparent Proxy feature.
  8. */
  9. contract ClashingImplementationUpgradeable is Initializable {
  10. function __ClashingImplementation_init() internal onlyInitializing {
  11. }
  12. function __ClashingImplementation_init_unchained() internal onlyInitializing {
  13. }
  14. function admin() external pure returns (address) {
  15. return 0x0000000000000000000000000000000011111142;
  16. }
  17. function delegatedFunction() external pure returns (bool) {
  18. return true;
  19. }
  20. /**
  21. * This empty reserved space is put in place to allow future versions to add new
  22. * variables without shifting down storage in the inheritance chain.
  23. * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
  24. */
  25. uint256[50] private __gap;
  26. }