Skip to content

Commit 20d08e0

Browse files
committed
rename and emit event
1 parent 98af426 commit 20d08e0

File tree

2 files changed

+50
-27
lines changed

2 files changed

+50
-27
lines changed

src/L2/L2SystemContract.sol renamed to src/L2/L2SystemConfig.sol

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,21 @@ pragma solidity =0.8.24;
44

55
import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
66

7-
contract L2SystemContract is OwnableUpgradeable {
7+
contract L2SystemConfig is OwnableUpgradeable {
8+
/**********
9+
* Events *
10+
**********/
11+
12+
/// @notice Emitted when the base fee overhead is updated.
13+
/// @param oldBaseFeeOverhead The old base fee overhead.
14+
/// @param newBaseFeeOverhead The new base fee overhead.
15+
event BaseFeeOverheadUpdated(uint256 oldBaseFeeOverhead, uint256 newBaseFeeOverhead);
16+
17+
/// @notice Emitted when the base fee scalar is updated.
18+
/// @param oldBaseFeeScalar The old base fee scalar.
19+
/// @param newBaseFeeScalar The new base fee scalar.
20+
event BaseFeeScalarUpdated(uint256 oldBaseFeeScalar, uint256 newBaseFeeScalar);
21+
822
/*************
923
* Constants *
1024
*************/
@@ -52,12 +66,16 @@ contract L2SystemContract is OwnableUpgradeable {
5266
/// @notice Updates the base fee overhead.
5367
/// @param _baseFeeOverhead The new base fee overhead.
5468
function updateBaseFeeOverhead(uint256 _baseFeeOverhead) external onlyOwner {
69+
uint256 oldBaseFeeOverhead = baseFeeOverhead;
5570
baseFeeOverhead = _baseFeeOverhead;
71+
emit BaseFeeOverheadUpdated(oldBaseFeeOverhead, _baseFeeOverhead);
5672
}
5773

5874
/// @notice Updates the base fee scalar.
5975
/// @param _baseFeeScalar The new base fee scalar.
6076
function updateBaseFeeScalar(uint256 _baseFeeScalar) external onlyOwner {
77+
uint256 oldBaseFeeScalar = baseFeeScalar;
6178
baseFeeScalar = _baseFeeScalar;
79+
emit BaseFeeScalarUpdated(oldBaseFeeScalar, _baseFeeScalar);
6280
}
6381
}

src/test/L2SystemContract.t.sol renamed to src/test/L2SystemConfig.t.sol

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,62 +6,67 @@ import {Test} from "forge-std/Test.sol";
66

77
import {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

Comments
 (0)