InitializableBasicHarness.sol 764 B

1234567891011121314151617181920212223242526272829303132333435
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.2;
  3. import "../munged/proxy/utils/Initializable4.6.sol";
  4. contract InitializableBasicHarness is Initializable {
  5. uint256 public unchangeable;
  6. modifier version1() {
  7. require(_initialized == 1);
  8. _;
  9. }
  10. modifier version2() {
  11. require(_initialized == 2);
  12. _;
  13. }
  14. function initialize(uint256 val) public initializer {
  15. unchangeable = val;
  16. }
  17. function reinitialize(uint256 val) public reinitializer(2) {
  18. unchangeable = val;
  19. }
  20. function returnsV1() public view version1 returns(uint256) {
  21. return unchangeable/2;
  22. }
  23. function returnsV2() public view version2 returns(uint256) {
  24. return unchangeable/3;
  25. }
  26. }