2021-02-22 08:32:53 +10:00

28 lines
601 B
Solidity

// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.6;
pragma experimental ABIEncoderV2;
contract FakeTaker {
struct Result {
bool success;
bytes resultData;
uint256 gasUsed;
}
receive() payable external {}
function execute(address payable to, bytes calldata data)
public
payable
returns (Result memory result)
{
uint256 gasBefore = gasleft();
(
result.success,
result.resultData
) = to.call{ value: msg.value }(data);
result.gasUsed = gasBefore - gasleft();
}
}