draft-IERC1822.sol 880 B

1234567891011121314151617181920
  1. // SPDX-License-Identifier: MIT
  2. // OpenZeppelin Contracts (last updated v4.5.0) (interfaces/draft-IERC1822.sol)
  3. pragma solidity ^0.8.19;
  4. /**
  5. * @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified
  6. * proxy whose upgrades are fully controlled by the current implementation.
  7. */
  8. interface IERC1822Proxiable {
  9. /**
  10. * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation
  11. * address.
  12. *
  13. * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks
  14. * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this
  15. * function revert if invoked through a proxy.
  16. */
  17. function proxiableUUID() external view returns (bytes32);
  18. }