Security Considerations
General
L1 Withdrawal Failure Risk with EOA Target
if (_tx.value != 0) {
if (_tx.data.length != 0) {
IERC20(_nativeTokenAddress).approve(_tx.target, _tx.value);
} else {
IERC20(_nativeTokenAddress).safeTransfer(_tx.target, _tx.value);
}
}
bool success;
if (_tx.data.length != 0) {
success = SafeCall.callWithMinGas(_tx.target, _tx.gasLimit, 0, _tx.data);
} else {
success = true;
}
// Reset approval after a call
if (_tx.data.length != 0 && _tx.value != 0) {
IERC20(_nativeTokenAddress).approve(_tx.target, 0);
}Dependency on ERC20 Approval
Last updated