interface ITarget {
function run() external payable;
function veryAndVeryLongNameOfSomeRunFunction() external payable;
}
contract FunctionCallArgsStatement {
ITarget public target;
function estimate() public returns (uint256 gas) {
gas = 1 gwei;
}
function veryAndVeryLongNameOfSomeGasEstimateFunction() public returns (uint256) {
return gasleft();
}
function value(uint256 val) public returns (uint256) {
return val;
}
function test() external {
target.run{ gas: gasleft(), value: 1 wei };
target.run{gas:1,value:0x00}();
target.run{
gas : 1000,
value: 1 ether
} ();
target.run{ gas: estimate(),
value: value(1) }();
target.run { value:
value(1 ether), gas: veryAndVeryLongNameOfSomeGasEstimateFunction() } ();
target.run /* comment 1 */ { value: /* comment2 */ 1 };
target.run { /* comment3 */ value: 1, // comment4
gas: gasleft()};
target.run {
// comment5
value: 1,
// comment6
gas: gasleft()};
vm.expectEmit({ checkTopic1: false, checkTopic2: false });
}
}