Skip to content

Commit 70cfeb6

Browse files
test(contracts): add comprehensive test coverage for Constants library (#18267)
- Split EIP1967 constants test into separate tests for better clarity - Add tests for ESTIMATION_ADDRESS, DEFAULT_L2_SENDER, GUARD_STORAGE_SLOT, ETHER, and DEPOSITOR_ACCOUNT constants - Add test for DEFAULT_RESOURCE_CONFIG() function covering all 6 struct fields - Import IResourceMetering interface for ResourceConfig struct testing All 8 tests pass successfully. Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1 parent c4e6244 commit 70cfeb6

File tree

1 file changed

+44
-3
lines changed

1 file changed

+44
-3
lines changed

packages/contracts-bedrock/test/libraries/Constants.t.sol

Lines changed: 44 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,56 @@ pragma solidity 0.8.15;
33

44
import { Test } from "forge-std/Test.sol";
55
import { Constants } from "src/libraries/Constants.sol";
6+
import { IResourceMetering } from "interfaces/L1/IResourceMetering.sol";
67

7-
/// @title Constants_Constants_Test
8+
/// @title Constants_Test
89
/// @notice Tests the constant values defined in the `Constants` library.
910
contract Constants_Test is Test {
10-
/// @notice Check EIP1967 related constants.
11-
function test_eip1967Constants_succeeds() external pure {
11+
/// @notice Verify ESTIMATION_ADDRESS constant value.
12+
function test_estimationAddress_succeeds() external pure {
13+
assertEq(Constants.ESTIMATION_ADDRESS, address(1));
14+
}
15+
16+
/// @notice Verify DEFAULT_L2_SENDER constant value.
17+
function test_defaultL2Sender_succeeds() external pure {
18+
assertEq(Constants.DEFAULT_L2_SENDER, 0x000000000000000000000000000000000000dEaD);
19+
}
20+
21+
/// @notice Verify EIP1967 proxy implementation storage slot.
22+
function test_proxyImplementationAddress_succeeds() external pure {
1223
assertEq(
1324
bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1), Constants.PROXY_IMPLEMENTATION_ADDRESS
1425
);
26+
}
27+
28+
/// @notice Verify EIP1967 proxy admin storage slot.
29+
function test_proxyOwnerAddress_succeeds() external pure {
1530
assertEq(bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1), Constants.PROXY_OWNER_ADDRESS);
1631
}
32+
33+
/// @notice Verify GUARD_STORAGE_SLOT constant value.
34+
function test_guardStorageSlot_succeeds() external pure {
35+
assertEq(keccak256("guard_manager.guard.address"), Constants.GUARD_STORAGE_SLOT);
36+
}
37+
38+
/// @notice Verify ETHER constant value.
39+
function test_ether_succeeds() external pure {
40+
assertEq(Constants.ETHER, 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE);
41+
}
42+
43+
/// @notice Verify DEPOSITOR_ACCOUNT constant value.
44+
function test_depositorAccount_succeeds() external pure {
45+
assertEq(Constants.DEPOSITOR_ACCOUNT, 0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001);
46+
}
47+
48+
/// @notice Verify DEFAULT_RESOURCE_CONFIG returns expected values.
49+
function test_defaultResourceConfig_succeeds() external pure {
50+
IResourceMetering.ResourceConfig memory config = Constants.DEFAULT_RESOURCE_CONFIG();
51+
assertEq(config.maxResourceLimit, 20_000_000);
52+
assertEq(config.elasticityMultiplier, 10);
53+
assertEq(config.baseFeeMaxChangeDenominator, 8);
54+
assertEq(config.minimumBaseFee, 1 gwei);
55+
assertEq(config.systemTxMaxGas, 1_000_000);
56+
assertEq(config.maximumBaseFee, type(uint128).max);
57+
}
1758
}

0 commit comments

Comments
 (0)