@@ -6,62 +6,67 @@ import {Test} from "forge-std/Test.sol";
66
77import {TransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol " ;
88
9- import {L2SystemContract } from "../L2/L2SystemContract .sol " ;
9+ import {L2SystemConfig } from "../L2/L2SystemConfig .sol " ;
1010
11- contract L2SystemContractTest is Test {
11+ contract L2SystemConfigTest is Test {
1212 address public admin;
1313 address public owner;
1414 address public nonOwner;
1515
16- L2SystemContract public l2SystemContract ;
16+ L2SystemConfig public l2SystemConfig ;
1717
18- event OwnershipTransferred (address indexed previousOwner , address indexed newOwner );
18+ event BaseFeeOverheadUpdated (uint256 oldBaseFeeOverhead , uint256 newBaseFeeOverhead );
19+ event BaseFeeScalarUpdated (uint256 oldBaseFeeScalar , uint256 newBaseFeeScalar );
1920
2021 function setUp () public {
2122 admin = makeAddr ("admin " );
2223 owner = makeAddr ("owner " );
2324 nonOwner = makeAddr ("nonOwner " );
2425
25- L2SystemContract implementation = new L2SystemContract ();
26+ L2SystemConfig implementation = new L2SystemConfig ();
2627 address proxy = address (new TransparentUpgradeableProxy (address (implementation), admin, "" ));
27- l2SystemContract = L2SystemContract (proxy);
28+ l2SystemConfig = L2SystemConfig (proxy);
2829
29- l2SystemContract .initialize (owner);
30+ l2SystemConfig .initialize (owner);
3031 }
3132
3233 function test_Initialize () public {
3334 // Test initialization
34- assertEq (l2SystemContract .owner (), owner);
35+ assertEq (l2SystemConfig .owner (), owner);
3536
3637 // revert when initialize again
3738 vm.expectRevert ("Initializable: contract is already initialized " );
38- l2SystemContract .initialize (owner);
39+ l2SystemConfig .initialize (owner);
3940 }
4041
4142 function test_UpdateBaseFeeOverhead (uint256 newBaseFeeOverhead ) public {
4243 // Test that only owner can update base fee overhead
4344 vm.prank (nonOwner);
4445 vm.expectRevert ("Ownable: caller is not the owner " );
45- l2SystemContract .updateBaseFeeOverhead (newBaseFeeOverhead);
46+ l2SystemConfig .updateBaseFeeOverhead (newBaseFeeOverhead);
4647
4748 // Test owner can update base fee overhead
48- assertEq (l2SystemContract .baseFeeOverhead (), 0 );
49+ assertEq (l2SystemConfig .baseFeeOverhead (), 0 );
4950 vm.prank (owner);
50- l2SystemContract.updateBaseFeeOverhead (newBaseFeeOverhead);
51- assertEq (l2SystemContract.baseFeeOverhead (), newBaseFeeOverhead);
51+ vm.expectEmit (true , true , true , true );
52+ emit BaseFeeOverheadUpdated (0 , newBaseFeeOverhead);
53+ l2SystemConfig.updateBaseFeeOverhead (newBaseFeeOverhead);
54+ assertEq (l2SystemConfig.baseFeeOverhead (), newBaseFeeOverhead);
5255 }
5356
5457 function test_UpdateBaseFeeScalar (uint256 newBaseFeeScalar ) public {
5558 // Test that only owner can update base fee scalar
5659 vm.prank (nonOwner);
5760 vm.expectRevert ("Ownable: caller is not the owner " );
58- l2SystemContract .updateBaseFeeScalar (newBaseFeeScalar);
61+ l2SystemConfig .updateBaseFeeScalar (newBaseFeeScalar);
5962
6063 // Test owner can update base fee scalar
61- assertEq (l2SystemContract .baseFeeScalar (), 0 );
64+ assertEq (l2SystemConfig .baseFeeScalar (), 0 );
6265 vm.prank (owner);
63- l2SystemContract.updateBaseFeeScalar (newBaseFeeScalar);
64- assertEq (l2SystemContract.baseFeeScalar (), newBaseFeeScalar);
66+ vm.expectEmit (true , true , true , true );
67+ emit BaseFeeScalarUpdated (0 , newBaseFeeScalar);
68+ l2SystemConfig.updateBaseFeeScalar (newBaseFeeScalar);
69+ assertEq (l2SystemConfig.baseFeeScalar (), newBaseFeeScalar);
6570 }
6671
6772 function test_GetL2BaseFee (
@@ -75,15 +80,15 @@ contract L2SystemContractTest is Test {
7580
7681 // Set up the contract state
7782 vm.prank (owner);
78- l2SystemContract .updateBaseFeeScalar (baseFeeScalar);
83+ l2SystemConfig .updateBaseFeeScalar (baseFeeScalar);
7984 vm.prank (owner);
80- l2SystemContract .updateBaseFeeOverhead (baseFeeOverhead);
85+ l2SystemConfig .updateBaseFeeOverhead (baseFeeOverhead);
8186
8287 // Calculate expected L2 base fee
8388 uint256 expectedL2BaseFee = (l1BaseFee * baseFeeScalar) / 1e18 + baseFeeOverhead;
8489
8590 // Test getL2BaseFee function
86- uint256 actualL2BaseFee = l2SystemContract .getL2BaseFee (l1BaseFee);
91+ uint256 actualL2BaseFee = l2SystemConfig .getL2BaseFee (l1BaseFee);
8792 assertEq (actualL2BaseFee, expectedL2BaseFee);
8893 }
8994
@@ -94,15 +99,15 @@ contract L2SystemContractTest is Test {
9499
95100 // Set up the contract state
96101 vm.prank (owner);
97- l2SystemContract .updateBaseFeeScalar (baseFeeScalar);
102+ l2SystemConfig .updateBaseFeeScalar (baseFeeScalar);
98103 vm.prank (owner);
99- l2SystemContract .updateBaseFeeOverhead (baseFeeOverhead);
104+ l2SystemConfig .updateBaseFeeOverhead (baseFeeOverhead);
100105
101106 // Calculate expected L2 base fee
102107 uint256 expectedL2BaseFee = baseFeeOverhead; // When L1 base fee is 0, only overhead is added
103108
104109 // Test getL2BaseFee function
105- uint256 actualL2BaseFee = l2SystemContract .getL2BaseFee (l1BaseFee);
110+ uint256 actualL2BaseFee = l2SystemConfig .getL2BaseFee (l1BaseFee);
106111 assertEq (actualL2BaseFee, expectedL2BaseFee);
107112 }
108113
@@ -113,15 +118,15 @@ contract L2SystemContractTest is Test {
113118
114119 // Set up the contract state
115120 vm.prank (owner);
116- l2SystemContract .updateBaseFeeScalar (baseFeeScalar);
121+ l2SystemConfig .updateBaseFeeScalar (baseFeeScalar);
117122 vm.prank (owner);
118- l2SystemContract .updateBaseFeeOverhead (baseFeeOverhead);
123+ l2SystemConfig .updateBaseFeeOverhead (baseFeeOverhead);
119124
120125 // Calculate expected L2 base fee
121126 uint256 expectedL2BaseFee = (l1BaseFee * baseFeeScalar) / 1e18 + baseFeeOverhead;
122127
123128 // Test getL2BaseFee function
124- uint256 actualL2BaseFee = l2SystemContract .getL2BaseFee (l1BaseFee);
129+ uint256 actualL2BaseFee = l2SystemConfig .getL2BaseFee (l1BaseFee);
125130 assertEq (actualL2BaseFee, expectedL2BaseFee);
126131 }
127132}
0 commit comments