pragma solidity ^0.4.24; // Proxy contract for testing throws contract ThrowProxy { address public target; bytes data; constructor(address _target) public payable { target = _target; } //prime the data using the fallback function. function() external { data = msg.data; } function execute() public returns (bool) { (bool result,) = address(target).call(data); return result; } }