You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.3 KiB
Solidity
58 lines
1.3 KiB
Solidity
2 years ago
|
// SPDX-License-Identifier: MIT
|
||
|
|
||
|
pragma solidity ^0.8.0;
|
||
|
|
||
|
contract CallReceiverMock {
|
||
|
event MockFunctionCalled();
|
||
|
event MockFunctionCalledWithArgs(uint256 a, uint256 b);
|
||
|
|
||
|
uint256[] private _array;
|
||
|
|
||
|
function mockFunction() public payable returns (string memory) {
|
||
|
emit MockFunctionCalled();
|
||
|
|
||
|
return "0x1234";
|
||
|
}
|
||
|
|
||
|
function mockFunctionWithArgs(uint256 a, uint256 b) public payable returns (string memory) {
|
||
|
emit MockFunctionCalledWithArgs(a, b);
|
||
|
|
||
|
return "0x1234";
|
||
|
}
|
||
|
|
||
|
function mockFunctionNonPayable() public returns (string memory) {
|
||
|
emit MockFunctionCalled();
|
||
|
|
||
|
return "0x1234";
|
||
|
}
|
||
|
|
||
|
function mockStaticFunction() public pure returns (string memory) {
|
||
|
return "0x1234";
|
||
|
}
|
||
|
|
||
|
function mockFunctionRevertsNoReason() public payable {
|
||
|
revert();
|
||
|
}
|
||
|
|
||
|
function mockFunctionRevertsReason() public payable {
|
||
|
revert("CallReceiverMock: reverting");
|
||
|
}
|
||
|
|
||
|
function mockFunctionThrows() public payable {
|
||
|
assert(false);
|
||
|
}
|
||
|
|
||
|
function mockFunctionOutOfGas() public payable {
|
||
|
for (uint256 i = 0; ; ++i) {
|
||
|
_array.push(i);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function mockFunctionWritesStorage(bytes32 slot, bytes32 value) public returns (string memory) {
|
||
|
assembly {
|
||
|
sstore(slot, value)
|
||
|
}
|
||
|
return "0x1234";
|
||
|
}
|
||
|
}
|