immutable / zkevm-bridge-contracts

Smart contracts for the Immutable zkEVM native bridge
https://toolkit.immutable.com/ethereum-bridge/
Apache License 2.0
8 stars 6 forks source link

Add storage gap to upgradeable contracts #45

Closed ermyas closed 11 months ago

ermyas commented 11 months ago

This PR addresses SMR-2020. It adds storage gaps to upgradeable contracts for reasons discussed here.

This PR also updates the order of imports for the bridge and adaptor contracts, in-line with the comment here

platform-sa commented 11 months ago

📃CI Report

Compiling 148 files with 0.8.19 Solc 0.8.19 finished in 21.27s Compiler run successful! Analysing contracts... Running tests... File % Lines % Statements % Branches % Funcs
script/DeployChildContracts.s.sol 0.00% (0/22) 0.00% (0/32) 100.00% (0/0) 0.00% (0/1)
script/DeployRootContracts.s.sol 0.00% (0/23) 0.00% (0/33) 0.00% (0/2) 0.00% (0/1)
script/InitializeChildContracts.s.sol 0.00% (0/11) 0.00% (0/17) 100.00% (0/0) 0.00% (0/1)
script/InitializeRootContracts.s.sol 0.00% (0/11) 0.00% (0/17) 100.00% (0/0) 0.00% (0/1)
script/Utils.sol 0.00% (0/12) 0.00% (0/16) 0.00% (0/2) 0.00% (0/2)
src/child/ChildAxelarBridgeAdaptor.sol 100.00% (37/37) 100.00% (55/55) 100.00% (14/14) 100.00% (6/6)
src/child/ChildERC20.sol 100.00% (14/14) 100.00% (15/15) 50.00% (1/2) 100.00% (7/7)
src/child/ChildERC20Bridge.sol 97.06% (132/136) 97.81% (179/183) 92.50% (74/80) 100.00% (15/15)
src/child/WIMX.sol 0.00% (0/19) 0.00% (0/22) 0.00% (0/8) 0.00% (0/6)
src/common/AdaptorRoles.sol 100.00% (6/6) 100.00% (6/6) 100.00% (0/0) 100.00% (6/6)
src/common/BridgeRoles.sol 100.00% (8/8) 100.00% (8/8) 100.00% (0/0) 100.00% (8/8)
src/lib/EIP712MetaTransaction.sol 8.00% (2/25) 9.68% (3/31) 8.33% (1/12) 14.29% (1/7)
src/lib/EIP712Upgradeable.sol 73.33% (11/15) 60.87% (14/23) 0.00% (0/2) 50.00% (2/4)
src/root/RootAxelarBridgeAdaptor.sol 100.00% (37/37) 100.00% (55/55) 100.00% (14/14) 100.00% (6/6)
src/root/RootERC20Bridge.sol 94.52% (138/146) 96.24% (205/213) 90.79% (69/76) 90.91% (20/22)
src/root/flowrate/FlowRateDetection.sol 90.00% (27/30) 90.91% (30/33) 78.57% (11/14) 100.00% (4/4)
src/root/flowrate/FlowRateWithdrawalQueue.sol 67.39% (31/46) 61.67% (37/60) 50.00% (7/14) 85.71% (6/7)
src/root/flowrate/RootERC20BridgeFlowRate.sol 100.00% (43/43) 98.00% (49/50) 100.00% (10/10) 100.00% (9/9)

For a full HTML report run: forge coverage --report lcov && genhtml --ignore-errors category --branch-coverage --output-dir coverage lcov.info