Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion packages/contracts-bedrock/test/L1/SystemConfig.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -866,7 +866,16 @@ contract SystemConfig_SetFeature_Test is SystemConfig_TestInit {
contract SystemConfig_IsFeatureEnabled_Test is SystemConfig_TestInit {
/// @notice Tests that `isFeatureEnabled` returns false for unset features.
/// @param _feature The feature to check.
function testFuzz_isFeatureEnabled_unsetFeature_succeeds(bytes32 _feature) external view {
function testFuzz_isFeatureEnabled_unsetFeature_succeeds(bytes32 _feature) external {
vm.startPrank(address(systemConfig.proxyAdmin()));

// Normalize CUSTOM_GAS_TOKEN to avoid environment-dependent state
if (systemConfig.isFeatureEnabled(Features.CUSTOM_GAS_TOKEN)) {
systemConfig.setFeature(Features.CUSTOM_GAS_TOKEN, false);
}

vm.stopPrank();

assertFalse(systemConfig.isFeatureEnabled(_feature));
}

Expand Down
34 changes: 34 additions & 0 deletions packages/contracts-bedrock/test/vendor/AddressAliasHelper.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,40 @@ pragma solidity 0.8.15;
import { Test } from "forge-std/Test.sol";
import { AddressAliasHelper } from "src/vendor/AddressAliasHelper.sol";

/// @title AddressAliasHelper_ApplyL1ToL2Alias_Test
/// @notice Tests for the `applyL1ToL2Alias` function.
contract AddressAliasHelper_ApplyL1ToL2Alias_Test is Test {
uint160 constant OFFSET = uint160(0x1111000000000000000000000000000000001111);

/// @notice Tests that applyL1ToL2Alias correctly adds the offset to L1 address.
/// @param _l1Address The L1 address to apply the alias to.
function testFuzz_applyL1ToL2Alias_addsOffset_succeeds(address _l1Address) external pure {
address l2Address = AddressAliasHelper.applyL1ToL2Alias(_l1Address);
uint160 expected;
unchecked {
expected = uint160(_l1Address) + OFFSET;
}
assertEq(uint160(l2Address), expected);
}
}

/// @title AddressAliasHelper_UndoL1ToL2Alias_Test
/// @notice Tests for the `undoL1ToL2Alias` function.
contract AddressAliasHelper_UndoL1ToL2Alias_Test is Test {
uint160 constant OFFSET = uint160(0x1111000000000000000000000000000000001111);

/// @notice Tests that undoL1ToL2Alias correctly subtracts offset from L2 address.
/// @param _l2Address The L2 address to undo the alias from.
function testFuzz_undoL1ToL2Alias_subtractsOffset_succeeds(address _l2Address) external pure {
address l1Address = AddressAliasHelper.undoL1ToL2Alias(_l2Address);
uint160 expected;
unchecked {
expected = uint160(_l2Address) - OFFSET;
}
assertEq(uint160(l1Address), expected);
}
}

/// @title AddressAliasHelper_Uncategorized_Test
/// @notice General tests that are not testing any function directly of the `AddressAliasHelper`
/// contract or are testing multiple functions at once.
Expand Down