Closed Zena-park closed 3 days ago
How about adding an event to detect when funds are locked? If _value != 0 && _target != address(0) and after the call is finished, then add an event if allowance is not 0, so that you can detect that funds are locked in this contract.
https://github.com/tokamak-network/tokamak-thanos/blob/c3a2bd6f768f0719a63fa1e0231eaae1d42f9e24/packages/tokamak/contracts-bedrock/src/L1/L1CrossDomainMessenger.sol#L305-L307
if (_value != 0 && _target != address(0)) { uint256 allowanceAmount = IERC20(_nativeTokenAddress).allowance(address(this), _target); if (allowanceAmount != 0) { emit RemainedAllowanceNativeToken(target, _value, allowanceAmount); IERC20(_nativeTokenAddress).approve(_target, 0); } }
Thanks for your suggestion. The allowance is set to 0 for security reasons regardless of message relay failure.
How about adding an event to detect when funds are locked? If _value != 0 && _target != address(0) and after the call is finished, then add an event if allowance is not 0, so that you can detect that funds are locked in this contract.
https://github.com/tokamak-network/tokamak-thanos/blob/c3a2bd6f768f0719a63fa1e0231eaae1d42f9e24/packages/tokamak/contracts-bedrock/src/L1/L1CrossDomainMessenger.sol#L305-L307