@@ -6,62 +6,67 @@ import {Test} from "forge-std/Test.sol";
6
6
7
7
import {TransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol " ;
8
8
9
- import {L2SystemContract } from "../L2/L2SystemContract .sol " ;
9
+ import {L2SystemConfig } from "../L2/L2SystemConfig .sol " ;
10
10
11
- contract L2SystemContractTest is Test {
11
+ contract L2SystemConfigTest is Test {
12
12
address public admin;
13
13
address public owner;
14
14
address public nonOwner;
15
15
16
- L2SystemContract public l2SystemContract ;
16
+ L2SystemConfig public l2SystemConfig ;
17
17
18
- event OwnershipTransferred (address indexed previousOwner , address indexed newOwner );
18
+ event BaseFeeOverheadUpdated (uint256 oldBaseFeeOverhead , uint256 newBaseFeeOverhead );
19
+ event BaseFeeScalarUpdated (uint256 oldBaseFeeScalar , uint256 newBaseFeeScalar );
19
20
20
21
function setUp () public {
21
22
admin = makeAddr ("admin " );
22
23
owner = makeAddr ("owner " );
23
24
nonOwner = makeAddr ("nonOwner " );
24
25
25
- L2SystemContract implementation = new L2SystemContract ();
26
+ L2SystemConfig implementation = new L2SystemConfig ();
26
27
address proxy = address (new TransparentUpgradeableProxy (address (implementation), admin, "" ));
27
- l2SystemContract = L2SystemContract (proxy);
28
+ l2SystemConfig = L2SystemConfig (proxy);
28
29
29
- l2SystemContract .initialize (owner);
30
+ l2SystemConfig .initialize (owner);
30
31
}
31
32
32
33
function test_Initialize () public {
33
34
// Test initialization
34
- assertEq (l2SystemContract .owner (), owner);
35
+ assertEq (l2SystemConfig .owner (), owner);
35
36
36
37
// revert when initialize again
37
38
vm.expectRevert ("Initializable: contract is already initialized " );
38
- l2SystemContract .initialize (owner);
39
+ l2SystemConfig .initialize (owner);
39
40
}
40
41
41
42
function test_UpdateBaseFeeOverhead (uint256 newBaseFeeOverhead ) public {
42
43
// Test that only owner can update base fee overhead
43
44
vm.prank (nonOwner);
44
45
vm.expectRevert ("Ownable: caller is not the owner " );
45
- l2SystemContract .updateBaseFeeOverhead (newBaseFeeOverhead);
46
+ l2SystemConfig .updateBaseFeeOverhead (newBaseFeeOverhead);
46
47
47
48
// Test owner can update base fee overhead
48
- assertEq (l2SystemContract .baseFeeOverhead (), 0 );
49
+ assertEq (l2SystemConfig .baseFeeOverhead (), 0 );
49
50
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);
52
55
}
53
56
54
57
function test_UpdateBaseFeeScalar (uint256 newBaseFeeScalar ) public {
55
58
// Test that only owner can update base fee scalar
56
59
vm.prank (nonOwner);
57
60
vm.expectRevert ("Ownable: caller is not the owner " );
58
- l2SystemContract .updateBaseFeeScalar (newBaseFeeScalar);
61
+ l2SystemConfig .updateBaseFeeScalar (newBaseFeeScalar);
59
62
60
63
// Test owner can update base fee scalar
61
- assertEq (l2SystemContract .baseFeeScalar (), 0 );
64
+ assertEq (l2SystemConfig .baseFeeScalar (), 0 );
62
65
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);
65
70
}
66
71
67
72
function test_GetL2BaseFee (
@@ -75,15 +80,15 @@ contract L2SystemContractTest is Test {
75
80
76
81
// Set up the contract state
77
82
vm.prank (owner);
78
- l2SystemContract .updateBaseFeeScalar (baseFeeScalar);
83
+ l2SystemConfig .updateBaseFeeScalar (baseFeeScalar);
79
84
vm.prank (owner);
80
- l2SystemContract .updateBaseFeeOverhead (baseFeeOverhead);
85
+ l2SystemConfig .updateBaseFeeOverhead (baseFeeOverhead);
81
86
82
87
// Calculate expected L2 base fee
83
88
uint256 expectedL2BaseFee = (l1BaseFee * baseFeeScalar) / 1e18 + baseFeeOverhead;
84
89
85
90
// Test getL2BaseFee function
86
- uint256 actualL2BaseFee = l2SystemContract .getL2BaseFee (l1BaseFee);
91
+ uint256 actualL2BaseFee = l2SystemConfig .getL2BaseFee (l1BaseFee);
87
92
assertEq (actualL2BaseFee, expectedL2BaseFee);
88
93
}
89
94
@@ -94,15 +99,15 @@ contract L2SystemContractTest is Test {
94
99
95
100
// Set up the contract state
96
101
vm.prank (owner);
97
- l2SystemContract .updateBaseFeeScalar (baseFeeScalar);
102
+ l2SystemConfig .updateBaseFeeScalar (baseFeeScalar);
98
103
vm.prank (owner);
99
- l2SystemContract .updateBaseFeeOverhead (baseFeeOverhead);
104
+ l2SystemConfig .updateBaseFeeOverhead (baseFeeOverhead);
100
105
101
106
// Calculate expected L2 base fee
102
107
uint256 expectedL2BaseFee = baseFeeOverhead; // When L1 base fee is 0, only overhead is added
103
108
104
109
// Test getL2BaseFee function
105
- uint256 actualL2BaseFee = l2SystemContract .getL2BaseFee (l1BaseFee);
110
+ uint256 actualL2BaseFee = l2SystemConfig .getL2BaseFee (l1BaseFee);
106
111
assertEq (actualL2BaseFee, expectedL2BaseFee);
107
112
}
108
113
@@ -113,15 +118,15 @@ contract L2SystemContractTest is Test {
113
118
114
119
// Set up the contract state
115
120
vm.prank (owner);
116
- l2SystemContract .updateBaseFeeScalar (baseFeeScalar);
121
+ l2SystemConfig .updateBaseFeeScalar (baseFeeScalar);
117
122
vm.prank (owner);
118
- l2SystemContract .updateBaseFeeOverhead (baseFeeOverhead);
123
+ l2SystemConfig .updateBaseFeeOverhead (baseFeeOverhead);
119
124
120
125
// Calculate expected L2 base fee
121
126
uint256 expectedL2BaseFee = (l1BaseFee * baseFeeScalar) / 1e18 + baseFeeOverhead;
122
127
123
128
// Test getL2BaseFee function
124
- uint256 actualL2BaseFee = l2SystemContract .getL2BaseFee (l1BaseFee);
129
+ uint256 actualL2BaseFee = l2SystemConfig .getL2BaseFee (l1BaseFee);
125
130
assertEq (actualL2BaseFee, expectedL2BaseFee);
126
131
}
127
132
}
0 commit comments