CallReceiverMock.sol 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity >=0.6.0 <0.8.0;
  3. contract CallReceiverMock {
  4. string public sharedAnswer;
  5. event MockFunctionCalled();
  6. uint256[] private _array;
  7. function mockFunction() public payable returns (string memory) {
  8. emit MockFunctionCalled();
  9. return "0x1234";
  10. }
  11. function mockFunctionNonPayable() public returns (string memory) {
  12. emit MockFunctionCalled();
  13. return "0x1234";
  14. }
  15. function mockStaticFunction() public pure returns (string memory) {
  16. return "0x1234";
  17. }
  18. function mockFunctionRevertsNoReason() public payable {
  19. revert();
  20. }
  21. function mockFunctionRevertsReason() public payable {
  22. revert("CallReceiverMock: reverting");
  23. }
  24. function mockFunctionThrows() public payable {
  25. assert(false);
  26. }
  27. function mockFunctionOutOfGas() public payable {
  28. for (uint256 i = 0; ; ++i) {
  29. _array.push(i);
  30. }
  31. }
  32. function mockFunctionWritesStorage() public returns (string memory) {
  33. sharedAnswer = "42";
  34. return "0x1234";
  35. }
  36. }