CallReceiverMockUpgradeable.sol 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.0;
  3. import "../proxy/utils/Initializable.sol";
  4. contract CallReceiverMockUpgradeable is Initializable {
  5. function __CallReceiverMock_init() internal onlyInitializing {
  6. __CallReceiverMock_init_unchained();
  7. }
  8. function __CallReceiverMock_init_unchained() internal onlyInitializing {
  9. }
  10. string public sharedAnswer;
  11. event MockFunctionCalled();
  12. event MockFunctionCalledWithArgs(uint256 a, uint256 b);
  13. uint256[] private _array;
  14. function mockFunction() public payable returns (string memory) {
  15. emit MockFunctionCalled();
  16. return "0x1234";
  17. }
  18. function mockFunctionWithArgs(uint256 a, uint256 b) public payable returns (string memory) {
  19. emit MockFunctionCalledWithArgs(a, b);
  20. return "0x1234";
  21. }
  22. function mockFunctionNonPayable() public returns (string memory) {
  23. emit MockFunctionCalled();
  24. return "0x1234";
  25. }
  26. function mockStaticFunction() public pure returns (string memory) {
  27. return "0x1234";
  28. }
  29. function mockFunctionRevertsNoReason() public payable {
  30. revert();
  31. }
  32. function mockFunctionRevertsReason() public payable {
  33. revert("CallReceiverMock: reverting");
  34. }
  35. function mockFunctionThrows() public payable {
  36. assert(false);
  37. }
  38. function mockFunctionOutOfGas() public payable {
  39. for (uint256 i = 0; ; ++i) {
  40. _array.push(i);
  41. }
  42. }
  43. function mockFunctionWritesStorage() public returns (string memory) {
  44. sharedAnswer = "42";
  45. return "0x1234";
  46. }
  47. uint256[48] private __gap;
  48. }