Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Soloseng/L2-GasPriceMinimum-Test #11316

Open
wants to merge 1 commit into
base: soloseng/L2-celoUnreleasedTreasury-test
Choose a base branch
from
Open
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
68 changes: 37 additions & 31 deletions packages/protocol/test-sol/unit/common/GasPriceMinimum.t.sol
Original file line number Diff line number Diff line change
@@ -1,26 +1,23 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.8.7 <0.8.20;

import "celo-foundry-8/Test.sol";
import { TestConstants } from "@test-sol/constants.sol";
import { TestWithUtils08 } from "@test-sol/TestWithUtils08.sol";
import { WhenL2, WhenL2NoInitialization } from "@test-sol/utils/WhenL2-08.sol";

import "@celo-contracts/common/FixidityLib.sol";

import "@celo-contracts/common/interfaces/IRegistry.sol";
import "@celo-contracts/stability/interfaces/ISortedOracles.sol";
import "@celo-contracts/stability/test/MockSortedOracles.sol";

import "@celo-contracts-8/common/GasPriceMinimum.sol";

contract GasPriceMinimumTest is Test, TestConstants {
contract GasPriceMinimumTest is TestWithUtils08 {
using FixidityLib for FixidityLib.Fraction;

IRegistry registry;
GasPriceMinimum public gasPriceMinimum;
MockSortedOracles sortedOracles;
address owner;
address nonOwner;
address celoToken;

uint256 gasPriceMinimumFloor = 100;
uint256 initialGasPriceMinimum = gasPriceMinimumFloor;
Expand All @@ -35,24 +32,19 @@ contract GasPriceMinimumTest is Test, TestConstants {
event GasPriceMinimumUpdated(uint256 gasPriceMinimum);
event BaseFeeOpCodeActivationBlockSet(uint256 baseFeeOpCodeActivationBlock);

function setUp() public virtual {
function setUp() public virtual override {
super.setUp();
owner = address(this);
nonOwner = actor("nonOwner");
celoToken = actor("CeloToken");

deployCodeTo("Registry.sol", abi.encode(false), REGISTRY_ADDRESS);

// deployCodeTo("SortedOracles.sol", abi.encode(true), sortedOracleAddress);
// fails with `data did not match any variant of untagged enum Bytecode at line 822 column 3]`
sortedOracles = new MockSortedOracles();

gasPriceMinimum = new GasPriceMinimum(true);

registry = IRegistry(REGISTRY_ADDRESS);

registry.setAddressFor("GasPriceMinimum", address(gasPriceMinimum));
registry.setAddressFor("SortedOracles", address(sortedOracles));
registry.setAddressFor("GoldToken", celoToken);
registry.setAddressFor("GoldToken", address(celoToken));

gasPriceMinimum.initialize(
REGISTRY_ADDRESS,
Expand All @@ -62,9 +54,11 @@ contract GasPriceMinimumTest is Test, TestConstants {
0
);
}
}

function _whenL2() public {
deployCodeTo("Registry.sol", abi.encode(false), PROXY_ADMIN_ADDRESS);
contract GasPriceMinimumTest_L2 is GasPriceMinimumTest, WhenL2 {
function setUp() public override(GasPriceMinimumTest, WhenL2) {
super.setUp();
}
}

Expand Down Expand Up @@ -124,9 +118,12 @@ contract GasPriceMinimumTest_setAdjustmentSpeed is GasPriceMinimumTest {
vm.expectRevert("Ownable: caller is not the owner");
gasPriceMinimum.setAdjustmentSpeed(newAdjustmentSpeed);
}
}

contract GasPriceMinimumTest_setAdjustmentSpeed_L2 is GasPriceMinimumTest_L2 {
uint256 newAdjustmentSpeed = 5;

function test_shouldRevertWhenL2() public {
_whenL2();
function test_Reverts_WhenL2() public {
vm.expectRevert("This method is no longer supported in L2.");
gasPriceMinimum.setAdjustmentSpeed(newAdjustmentSpeed);
}
Expand Down Expand Up @@ -158,11 +155,12 @@ contract GasPriceMinimumTest_setTargetDensity is GasPriceMinimumTest {
vm.expectRevert("Ownable: caller is not the owner");
gasPriceMinimum.setTargetDensity(newTargetDensity);
}
}

function test_ShouldRevertWhenL2() public {
_whenL2();
contract GasPriceMinimumTest_setTargetDensity_L2 is GasPriceMinimumTest_L2 {
function test_Reverts_WhenL2() public {
vm.expectRevert("This method is no longer supported in L2.");
gasPriceMinimum.setTargetDensity(newTargetDensity);
gasPriceMinimum.setTargetDensity(5);
}
}

Expand Down Expand Up @@ -191,11 +189,12 @@ contract GasPriceMinimumTest_setGasPriceMinimumFloor is GasPriceMinimumTest {
vm.expectRevert("Ownable: caller is not the owner");
gasPriceMinimum.setGasPriceMinimumFloor(newGasPriceMinimumFloor);
}
}

function test_shouldRevertWhenL2() public {
_whenL2();
contract GasPriceMinimumTest_setGasPriceMinimumFloor_L2 is GasPriceMinimumTest_L2 {
function test_Reverts_WhenL2() public {
vm.expectRevert("This method is no longer supported in L2.");
gasPriceMinimum.setGasPriceMinimumFloor(newGasPriceMinimumFloor);
gasPriceMinimum.setGasPriceMinimumFloor(5);
}
}

Expand Down Expand Up @@ -297,9 +296,10 @@ contract GasPriceMinimumTest_getUpdatedGasPriceMinimum is GasPriceMinimumTest {
assertEq(actualUpdatedGasPriceMinimum, expectedUpdatedGasPriceMinimum);
}
}
}

contract GasPriceMinimumTest_getUpdatedGasPriceMinimum_L2 is GasPriceMinimumTest_L2 {
function test_shouldRevert_WhenCalledOnL2() public {
_whenL2();
vm.expectRevert("This method is no longer supported in L2.");
gasPriceMinimum.getUpdatedGasPriceMinimum(0, 1);
}
Expand All @@ -310,9 +310,10 @@ contract GasPriceMinimumTest_gasPriceMinimumFloor is GasPriceMinimumTest {
uint256 gasPriceMinFloor = gasPriceMinimum.gasPriceMinimumFloor();
assertEq(gasPriceMinFloor, gasPriceMinimumFloor);
}
}

contract GasPriceMinimumTest_gasPriceMinimumFloor_L2 is GasPriceMinimumTest_L2 {
function test_shouldRevert_WhenCalledOnL2() public {
_whenL2();
vm.expectRevert("This method is no longer supported in L2.");
gasPriceMinimum.gasPriceMinimumFloor();
}
Expand All @@ -323,9 +324,10 @@ contract GasPriceMinimumTest_targetDensity is GasPriceMinimumTest {
uint256 realTargetDensity = gasPriceMinimum.targetDensity();
assertEq(realTargetDensity, targetDensity);
}
}

contract GasPriceMinimumTest_targetDensity_L2 is GasPriceMinimumTest_L2 {
function test_shouldRevert_WhenCalledOnL2() public {
_whenL2();
vm.expectRevert("This method is no longer supported in L2.");
gasPriceMinimum.targetDensity();
}
Expand All @@ -336,9 +338,10 @@ contract GasPriceMinimumTest_adjustmentSpeed is GasPriceMinimumTest {
uint256 realAdjustementSpeed = gasPriceMinimum.adjustmentSpeed();
assertEq(realAdjustementSpeed, adjustmentSpeed);
}
}

contract GasPriceMinimumTest_adjustmentSpeed_L2 is GasPriceMinimumTest_L2 {
function test_shouldRevert_WhenCalledOnL2() public {
_whenL2();
vm.expectRevert("This method is no longer supported in L2.");
gasPriceMinimum.adjustmentSpeed();
}
Expand All @@ -356,9 +359,10 @@ contract GasPriceMinimumTest_baseFeeOpCodeActivationBlock is GasPriceMinimumTest
uint256 realBaseFeeOpCodeActivationBlock = gasPriceMinimum.baseFeeOpCodeActivationBlock();
assertEq(realBaseFeeOpCodeActivationBlock, baseFeeOpCodeActivationBlock);
}
}

contract GasPriceMinimumTest_baseFeeOpCodeActivationBlock_L2 is GasPriceMinimumTest_L2 {
function test_shouldRevert_WhenCalledOnL2() public {
_whenL2();
vm.expectRevert("This method is no longer supported in L2.");
gasPriceMinimum.baseFeeOpCodeActivationBlock();
}
Expand All @@ -369,9 +373,10 @@ contract GasPriceMinimumTest_gasPriceMinimum is GasPriceMinimumTest {
uint256 realGasPriceMinimum = gasPriceMinimum.gasPriceMinimum();
assertEq(realGasPriceMinimum, 100);
}
}

contract GasPriceMinimumTest_gasPriceMinimum_L2 is GasPriceMinimumTest_L2 {
function test_shouldRevert_WhenCalledOnL2() public {
_whenL2();
vm.expectRevert("This method is no longer supported in L2.");
gasPriceMinimum.gasPriceMinimum();
}
Expand All @@ -382,9 +387,10 @@ contract GasPriceMinimumTest_getGasPriceMinimum is GasPriceMinimumTest {
uint256 realGasPriceMinimum = gasPriceMinimum.getGasPriceMinimum(address(0));
assertEq(realGasPriceMinimum, 100);
}
}

contract GasPriceMinimumTest_getGasPriceMinimum_L2 is GasPriceMinimumTest_L2 {
function test_shouldRevert_WhenCalledOnL2() public {
_whenL2();
vm.expectRevert("This method is no longer supported in L2.");
gasPriceMinimum.getGasPriceMinimum(address(0));
}
Expand Down
Loading