From d7a4913ad5eafd7a56198d9a11bb09f76cd0b39e Mon Sep 17 00:00:00 2001 From: AgusDuha <81362284+agusduha@users.noreply.github.com> Date: Thu, 16 Jan 2025 18:00:41 -0300 Subject: [PATCH] fix: refactor portal noops function (#206) --- .semgrep/rules/sol-rules.yaml | 2 -- packages/contracts-bedrock/snapshots/semver-lock.json | 6 +++--- packages/contracts-bedrock/src/L1/OptimismPortal2.sol | 2 +- packages/contracts-bedrock/src/L1/OptimismPortalInterop.sol | 2 ++ 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.semgrep/rules/sol-rules.yaml b/.semgrep/rules/sol-rules.yaml index 7f5f63c7eba4..27d6d1e7fd4f 100644 --- a/.semgrep/rules/sol-rules.yaml +++ b/.semgrep/rules/sol-rules.yaml @@ -211,8 +211,6 @@ rules: exclude: - packages/contracts-bedrock/src/L1/SystemConfigInterop.sol - packages/contracts-bedrock/src/L1/OptimismPortalInterop.sol - - packages/contracts-bedrock/src/L1/SharedLockbox.sol - - packages/contracts-bedrock/src/L1/LiquidityMigrator.sol - id: sol-safety-proper-initializer languages: [solidity] diff --git a/packages/contracts-bedrock/snapshots/semver-lock.json b/packages/contracts-bedrock/snapshots/semver-lock.json index e4654e9bdd2a..bdc47ad33bb1 100644 --- a/packages/contracts-bedrock/snapshots/semver-lock.json +++ b/packages/contracts-bedrock/snapshots/semver-lock.json @@ -21,11 +21,11 @@ }, "src/L1/OptimismPortal2.sol": { "initCodeHash": "0x68ec44f18f5618fbdebe9a20b0cb52eacf3582a19347738b516d87bd97def539", - "sourceCodeHash": "0xe6832f65d9ea151842b7402054aed23f0278bb1674f364bb469fc647c6dcf5c1" + "sourceCodeHash": "0x09bf8ed836d92366c5fc38420a21742c831f71ec4a4ce767a58c9cdb8cbba2f8" }, "src/L1/OptimismPortalInterop.sol": { - "initCodeHash": "0x23773a99173c3a79996f7e59e429100c64af5a2b8a0bc121f791cf66b805840c", - "sourceCodeHash": "0xd80beec1d5daa84de5db2ff7ae4aca024c7dc063ec790d55b8cb4c73d3ee7b44" + "initCodeHash": "0x77a60e455dab4002d2448c240d03987dcb83160b318c16349469e488a69ffebd", + "sourceCodeHash": "0x7ca7156356d2d72b9f4eedcf1d7a396c7528cb225cf771e7c3906d8b4a0a21fa" }, "src/L1/ProtocolVersions.sol": { "initCodeHash": "0x0000ec89712d8b4609873f1ba76afffd4205bf9110818995c90134dbec12e91e", diff --git a/packages/contracts-bedrock/src/L1/OptimismPortal2.sol b/packages/contracts-bedrock/src/L1/OptimismPortal2.sol index e375606c1e40..184804a41aa2 100644 --- a/packages/contracts-bedrock/src/L1/OptimismPortal2.sol +++ b/packages/contracts-bedrock/src/L1/OptimismPortal2.sol @@ -456,7 +456,7 @@ contract OptimismPortal2 is Initializable, ResourceMetering, ISemver { { // This function locks ETH in the SharedLockbox when using the OptimismPortalInterop contract. // If the interop version is not used, this function is a no-ops. - if (msg.value != 0) _lockETH(); + _lockETH(); // Just to be safe, make sure that people specify address(0) as the target when doing // contract creations. diff --git a/packages/contracts-bedrock/src/L1/OptimismPortalInterop.sol b/packages/contracts-bedrock/src/L1/OptimismPortalInterop.sol index 336c885c08ad..8846a49de13b 100644 --- a/packages/contracts-bedrock/src/L1/OptimismPortalInterop.sol +++ b/packages/contracts-bedrock/src/L1/OptimismPortalInterop.sol @@ -116,6 +116,8 @@ contract OptimismPortalInterop is OptimismPortal2 { /// @notice Locks the ETH in the SharedLockbox. function _lockETH() internal virtual override { + if (msg.value == 0) return; + OptimismPortalStorage storage s = _storage(); if (s.migrated) sharedLockbox().lockETH{ value: msg.value }(); }