Closed hujw77 closed 3 years ago
pragma solidity >0.6.0;
contract TryCatch {
event LogRes(bool);
uint64 public nonce;
function execute(uint256 amount) external {
// the low level call will return `false` if its execution reverts
(bool success, bytes memory returnData) = address(this).call(
abi.encodeWithSignature(
"onlyEven(uint256)",
amount
)
);
emit LogRes(success);
nonce++;
}
function onlyEven(uint256 a) public {
require(a % 2 == 0, "Ups! Reverting");
}
}
https://github.com/darwinia-network/darwinia-bridge-sol/pull/41#discussion_r664371982