Skip to content
Merged
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
39 changes: 39 additions & 0 deletions packages/contracts-bedrock/test/setup/DeployVariations.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

// Testing utilities
import { CommonTest } from "test/setup/CommonTest.sol";
import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract DeployVariations_Test is CommonTest {
function setUp() public override {
// Prevent calling the base CommonTest.setUp() function, as we will run it within the test functions
// after setting the feature flags
}

// Enable features which should be possible to enable or disable regardless of other options.
function enableAddOns(bool _enableCGT, bool _enableAltDa) public {
if (_enableCGT) {
ERC20 token = new ERC20("Silly", "SIL");
super.enableCustomGasToken(address(token));
}
if (_enableAltDa) {
super.enableAltDA();
}
}

/// @dev It should be possible to enable Fault Proofs with any mix of CGT and Alt-DA.
function testFuzz_enableFaultProofs(bool _enableCGT, bool _enableAltDa) public virtual {
enableAddOns(_enableCGT, _enableAltDa);
super.enableFaultProofs();
super.setUp();
}

/// @dev It should be possible to enable Fault Proofs and Interop with any mix of CGT and Alt-DA.
function test_enableInteropAndFaultProofs(bool _enableCGT, bool _enableAltDa) public virtual {
enableAddOns(_enableCGT, _enableAltDa);
super.enableInterop();
super.enableFaultProofs();
super.setUp();
}
}