Skip to content

Commit

Permalink
Update to Solidity 0.8.21 and use via-ir and optimizer (#14)
Browse files Browse the repository at this point in the history
* Update to Solidity 0.8.21 and use via-ir and optimizer

* Use single quotes
  • Loading branch information
kevincheng96 authored Oct 6, 2023
1 parent 27714a8 commit c5a67af
Show file tree
Hide file tree
Showing 18 changed files with 21 additions and 20 deletions.
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@
"solidity.packageDefaultDependenciesContractsDirectory": "src",
"diffEditor.ignoreTrimWhitespace": false,
"editor.trimAutoWhitespace": true,
"solidity.compileUsingRemoteVersion": "v0.8.17+commit.8df45f5f"
"solidity.compileUsingRemoteVersion": "v0.8.21+commit.d9974be"
}
4 changes: 4 additions & 0 deletions foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ src = 'src'
out = 'out'
libs = ['lib']
verbosity = 3
solc-version = '0.8.21'
via_ir = true
optimizer = true
optimizer_runs = 1000000000

remappings = [
'forge-std/=lib/forge-std/src/',
Expand Down
2 changes: 1 addition & 1 deletion script/DeployCometWrapper.s.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
pragma solidity 0.8.21;

import "forge-std/Script.sol";
import "forge-std/console.sol";
Expand Down
2 changes: 1 addition & 1 deletion src/CometHelpers.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
pragma solidity 0.8.21;

import {CometMath} from "./vendor/CometMath.sol";

Expand Down
2 changes: 1 addition & 1 deletion src/CometWrapper.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
pragma solidity 0.8.21;

import { ERC4626 } from "solmate/mixins/ERC4626.sol";
import { ERC20 } from "solmate/tokens/ERC20.sol";
Expand Down
2 changes: 1 addition & 1 deletion src/vendor/CometExtInterface.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.17;
pragma solidity 0.8.21;

struct TotalsBasic {
uint64 baseSupplyIndex;
Expand Down
2 changes: 1 addition & 1 deletion src/vendor/CometInterface.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.17;
pragma solidity 0.8.21;

import "./CometMainInterface.sol";
import "./CometExtInterface.sol";
Expand Down
2 changes: 1 addition & 1 deletion src/vendor/CometMainInterface.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.17;
pragma solidity 0.8.21;

struct AssetInfo {
uint8 offset;
Expand Down
2 changes: 1 addition & 1 deletion src/vendor/CometMath.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.17;
pragma solidity 0.8.21;

/**
* @title Compound's Comet Math Contract
Expand Down
2 changes: 1 addition & 1 deletion src/vendor/ICometConfigurator.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
pragma solidity 0.8.21;

interface ICometConfigurator {
struct Configuration {
Expand Down
2 changes: 1 addition & 1 deletion src/vendor/ICometRewards.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: ISC
pragma solidity 0.8.17;
pragma solidity 0.8.21;

interface ICometRewards {
struct RewardConfig {
Expand Down
2 changes: 1 addition & 1 deletion test/BaseUSDbCTest.t.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
pragma solidity 0.8.21;

import { Test } from "forge-std/Test.sol";
import { CometWrapper, CometInterface, ICometRewards, CometHelpers, ERC20 } from "../src/CometWrapper.sol";
Expand Down
3 changes: 1 addition & 2 deletions test/CometWrapper.t.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
pragma solidity 0.8.21;

import { CoreTest, CometHelpers, CometWrapper, ERC20, ICometRewards } from "./CoreTest.sol";
import { CometMath } from "../src/vendor/CometMath.sol";
Expand Down Expand Up @@ -950,5 +950,4 @@ abstract contract CometWrapperTest is CoreTest, CometMath {
}

// TODO: add fuzz testing for withdraw
// TODO: add tests for cWETHv3 decimals
// TODO: add tests for max withdraw/redeem
2 changes: 1 addition & 1 deletion test/CometWrapperInvariant.t.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
pragma solidity 0.8.21;

import { CoreTest, CometHelpers, CometWrapper, ERC20, ICometRewards } from "./CoreTest.sol";
import { CometMath } from "../src/vendor/CometMath.sol";
Expand Down
2 changes: 1 addition & 1 deletion test/CoreTest.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
pragma solidity 0.8.21;

import { Test } from "forge-std/Test.sol";
import { CometWrapper, CometInterface, ICometRewards, CometHelpers, ERC20 } from "../src/CometWrapper.sol";
Expand Down
2 changes: 1 addition & 1 deletion test/MainnetUSDCTest.t.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
pragma solidity 0.8.21;

import { Test } from "forge-std/Test.sol";
import { CometWrapper, CometInterface, ICometRewards, CometHelpers, ERC20 } from "../src/CometWrapper.sol";
Expand Down
2 changes: 1 addition & 1 deletion test/MainnetWETHTest.t.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
pragma solidity 0.8.21;

import { Test } from "forge-std/Test.sol";
import { CometWrapper, CometInterface, ICometRewards, CometHelpers, ERC20 } from "../src/CometWrapper.sol";
Expand Down
4 changes: 1 addition & 3 deletions test/Rewards.t.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
pragma solidity 0.8.21;

import { CoreTest } from "./CoreTest.sol";
import { CometWrapper, ICometRewards, CometHelpers, ERC20 } from "../src/CometWrapper.sol";
Expand Down Expand Up @@ -285,5 +285,3 @@ abstract contract RewardsTest is CoreTest {
vm.stopPrank();
}
}

// TODO: test cWETHv3

0 comments on commit c5a67af

Please sign in to comment.