Closed ermyas closed 11 months ago
Compiling 146 files with 0.8.19 Solc 0.8.19 finished in 15.75s Compiler run [32msuccessful![0m 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% (48/48) | 100.00% (65/65) | 100.00% (22/22) | 100.00% (7/7) | |
src/child/ChildERC20.sol | 100.00% (14/14) | 100.00% (15/15) | 50.00% (1/2) | 100.00% (7/7) | |
src/child/ChildERC20Bridge.sol | 96.92% (126/130) | 97.73% (172/176) | 94.29% (66/70) | 100.00% (21/21) | |
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/lib/WETH.sol | 100.00% (19/19) | 100.00% (22/22) | 100.00% (8/8) | 100.00% (6/6) | |
src/root/RootAxelarBridgeAdaptor.sol | 100.00% (48/48) | 100.00% (65/65) | 100.00% (22/22) | 100.00% (7/7) | |
src/root/RootERC20Bridge.sol | 93.60% (117/125) | 95.56% (172/180) | 87.50% (49/56) | 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
At present, the RootERC20Bridge and ChildERC20Bridge implementations are implicitly linked to Axelar-specific details, such as chain names for chain IDs and string contract addresses. This PR moves these details from the bridge contract to the respective bridge adaptors. A crucial part of this refactor is that the validation of a message's source (i.e., source chain and source address) is now carried out at the bridge adaptor, not at the bridge.
This PR addresses SMR-2023, SMR-2024, SMR-2026