diff --git a/.github/workflows/certora.yml b/.github/workflows/certora.yml index 0bd6dfb3..d1fbc153 100644 --- a/.github/workflows/certora.yml +++ b/.github/workflows/certora.yml @@ -52,11 +52,11 @@ jobs: chmod +x solc-static-linux sudo mv solc-static-linux /usr/local/bin/solc-0.8.19 - - name: Install solc (0.8.26) + - name: Install solc (0.8.24) run: | - wget https://github.com/ethereum/solidity/releases/download/v0.8.26/solc-static-linux + wget https://github.com/ethereum/solidity/releases/download/v0.8.24/solc-static-linux chmod +x solc-static-linux - sudo mv solc-static-linux /usr/local/bin/solc-0.8.26 + sudo mv solc-static-linux /usr/local/bin/solc-0.8.24 - name: Apply munging run: make -C certora munged diff --git a/certora/README.md b/certora/README.md index 8cdd8fe7..bf3fa5d9 100644 --- a/certora/README.md +++ b/certora/README.md @@ -4,7 +4,7 @@ This folder contains the verification of MetaMorpho using CVL, Certora's Verific The code is compiled using 2 versions of solidity, which must be installed to run the verification as: -- `solc` for solidity compiler version 0.8.26 which is used for compiling MetaMorpho +- `solc` for solidity compiler version 0.8.24 which is used for compiling MetaMorpho - `solc8.19` for solidity compiler version 0.8.19 which is used for compiling Morpho Blue. The verification is run on modified source files, which are made available by running: diff --git a/certora/confs/ConsistentState.conf b/certora/confs/ConsistentState.conf index 7f7d2030..ca757519 100644 --- a/certora/confs/ConsistentState.conf +++ b/certora/confs/ConsistentState.conf @@ -3,7 +3,7 @@ "certora/helpers/MetaMorphoHarness.sol", "certora/helpers/Util.sol", ], - "solc": "solc-0.8.26", + "solc": "solc-0.8.24", "parametric_contracts": [ "MetaMorphoHarness", ], diff --git a/certora/confs/DistinctIdentifiers.conf b/certora/confs/DistinctIdentifiers.conf index 842288a0..f1056270 100644 --- a/certora/confs/DistinctIdentifiers.conf +++ b/certora/confs/DistinctIdentifiers.conf @@ -2,7 +2,7 @@ "files": [ "certora/helpers/MetaMorphoHarness.sol", ], - "solc": "solc-0.8.26", + "solc": "solc-0.8.24", "verify": "MetaMorphoHarness:certora/specs/DistinctIdentifiers.spec", "loop_iter": "2", "optimistic_loop": true, diff --git a/certora/confs/Enabled.conf b/certora/confs/Enabled.conf index 28ffb7e3..4f33ce1a 100644 --- a/certora/confs/Enabled.conf +++ b/certora/confs/Enabled.conf @@ -2,7 +2,7 @@ "files": [ "certora/helpers/MetaMorphoHarness.sol", ], - "solc": "solc-0.8.26", + "solc": "solc-0.8.24", "verify": "MetaMorphoHarness:certora/specs/Enabled.spec", "loop_iter": "2", "optimistic_loop": true, diff --git a/certora/confs/Immutability.conf b/certora/confs/Immutability.conf index 9947b023..d84752e5 100644 --- a/certora/confs/Immutability.conf +++ b/certora/confs/Immutability.conf @@ -2,7 +2,7 @@ "files": [ "certora/helpers/MetaMorphoHarness.sol", ], - "solc": "solc-0.8.26", + "solc": "solc-0.8.24", "verify": "MetaMorphoHarness:certora/specs/Immutability.spec", "loop_iter": "2", "optimistic_loop": true, diff --git a/certora/confs/LastUpdated.conf b/certora/confs/LastUpdated.conf index 808242ce..47ba8574 100644 --- a/certora/confs/LastUpdated.conf +++ b/certora/confs/LastUpdated.conf @@ -6,8 +6,8 @@ ], "solc_map": { "MorphoHarness": "solc-0.8.19", - "MetaMorphoHarness": "solc-0.8.26", - "Util": "solc-0.8.26", + "MetaMorphoHarness": "solc-0.8.24", + "Util": "solc-0.8.24", }, "verify": "MetaMorphoHarness:certora/specs/LastUpdated.spec", "loop_iter": "2", diff --git a/certora/confs/Liveness.conf b/certora/confs/Liveness.conf index fa4f8897..3d1cde1d 100644 --- a/certora/confs/Liveness.conf +++ b/certora/confs/Liveness.conf @@ -9,8 +9,8 @@ ], "solc_map": { "MorphoHarness": "solc-0.8.19", - "MetaMorphoHarness": "solc-0.8.26", - "Util": "solc-0.8.26", + "MetaMorphoHarness": "solc-0.8.24", + "Util": "solc-0.8.24", }, "verify": "MetaMorphoHarness:certora/specs/Liveness.spec", "loop_iter": "2", diff --git a/certora/confs/LostAssetsLink.conf b/certora/confs/LostAssetsLink.conf index 0b1057ba..4fe2e9f5 100644 --- a/certora/confs/LostAssetsLink.conf +++ b/certora/confs/LostAssetsLink.conf @@ -5,9 +5,9 @@ "certora/helpers/Util.sol", ], "solc_map": { - "MetaMorphoHarness": "solc-0.8.26", + "MetaMorphoHarness": "solc-0.8.24", "MorphoHarness": "solc-0.8.19", - "Util": "solc-0.8.26" + "Util": "solc-0.8.24" }, "link": [ "MetaMorphoHarness:MORPHO=MorphoHarness", diff --git a/certora/confs/LostAssetsNoLink.conf b/certora/confs/LostAssetsNoLink.conf index b4dc3212..b64a8cba 100644 --- a/certora/confs/LostAssetsNoLink.conf +++ b/certora/confs/LostAssetsNoLink.conf @@ -2,7 +2,7 @@ "files": [ "certora/helpers/MetaMorphoHarness.sol", ], - "solc": "solc-0.8.26", + "solc": "solc-0.8.24", "verify": "MetaMorphoHarness:certora/specs/LostAssetsNoLink.spec", "loop_iter": "2", "optimistic_loop": true, diff --git a/certora/confs/MarketInteractions.conf b/certora/confs/MarketInteractions.conf index c7e1d7ba..b29c9aff 100644 --- a/certora/confs/MarketInteractions.conf +++ b/certora/confs/MarketInteractions.conf @@ -3,7 +3,7 @@ "certora/helpers/MetaMorphoHarness.sol", "certora/helpers/Util.sol", ], - "solc": "solc-0.8.26", + "solc": "solc-0.8.24", "parametric_contracts": [ "MetaMorphoHarness", ], diff --git a/certora/confs/PendingValues.conf b/certora/confs/PendingValues.conf index 1293e841..e53e20ad 100644 --- a/certora/confs/PendingValues.conf +++ b/certora/confs/PendingValues.conf @@ -2,7 +2,7 @@ "files": [ "certora/helpers/MetaMorphoHarness.sol", ], - "solc": "solc-0.8.26", + "solc": "solc-0.8.24", "verify": "MetaMorphoHarness:certora/specs/PendingValues.spec", "loop_iter": "2", "optimistic_loop": true, diff --git a/certora/confs/Range.conf b/certora/confs/Range.conf index adc041ad..e14a0db9 100644 --- a/certora/confs/Range.conf +++ b/certora/confs/Range.conf @@ -2,7 +2,7 @@ "files": [ "certora/helpers/MetaMorphoHarness.sol", ], - "solc": "solc-0.8.26", + "solc": "solc-0.8.24", "verify": "MetaMorphoHarness:certora/specs/Range.spec", "loop_iter": "2", "optimistic_loop": true, diff --git a/certora/confs/Reentrancy.conf b/certora/confs/Reentrancy.conf index 23237da6..ede79cc3 100644 --- a/certora/confs/Reentrancy.conf +++ b/certora/confs/Reentrancy.conf @@ -2,7 +2,7 @@ "files": [ "certora/helpers/MetaMorphoHarness.sol", ], - "solc": "solc-0.8.26", + "solc": "solc-0.8.24", "verify": "MetaMorphoHarness:certora/specs/Reentrancy.spec", "loop_iter": "2", "optimistic_loop": true, diff --git a/certora/confs/Reverts.conf b/certora/confs/Reverts.conf index e00c8f65..2d9b2842 100644 --- a/certora/confs/Reverts.conf +++ b/certora/confs/Reverts.conf @@ -10,9 +10,9 @@ ], "solc_map": { "MorphoHarness": "solc-0.8.19", - "MetaMorphoHarness": "solc-0.8.26", - "Util": "solc-0.8.26", - "ERC20Standard": "solc-0.8.26", + "MetaMorphoHarness": "solc-0.8.24", + "Util": "solc-0.8.24", + "ERC20Standard": "solc-0.8.24", }, "verify": "MetaMorphoHarness:certora/specs/Reverts.spec", "loop_iter": "2", diff --git a/certora/confs/Roles.conf b/certora/confs/Roles.conf index 8e3be03e..249fc934 100644 --- a/certora/confs/Roles.conf +++ b/certora/confs/Roles.conf @@ -2,7 +2,7 @@ "files": [ "certora/helpers/MetaMorphoHarness.sol", ], - "solc": "solc-0.8.26", + "solc": "solc-0.8.24", "verify": "MetaMorphoHarness:certora/specs/Roles.spec", "loop_iter": "2", "optimistic_loop": true, diff --git a/certora/confs/Timelock.conf b/certora/confs/Timelock.conf index 45fb7709..e6cd1c45 100644 --- a/certora/confs/Timelock.conf +++ b/certora/confs/Timelock.conf @@ -8,7 +8,7 @@ ], "solc_map": { "MorphoHarness": "solc-0.8.19", - "MetaMorphoHarness": "solc-0.8.26", + "MetaMorphoHarness": "solc-0.8.24", }, "verify": "MetaMorphoHarness:certora/specs/Timelock.spec", "loop_iter": "2", diff --git a/certora/confs/Tokens.conf b/certora/confs/Tokens.conf index 3a58649d..cd7bd973 100644 --- a/certora/confs/Tokens.conf +++ b/certora/confs/Tokens.conf @@ -12,11 +12,11 @@ ], "solc_map": { "MorphoHarness": "solc-0.8.19", - "MetaMorphoHarness": "solc-0.8.26", - "Util": "solc-0.8.26", - "ERC20NoRevert": "solc-0.8.26", - "ERC20Standard": "solc-0.8.26", - "ERC20USDT": "solc-0.8.26", + "MetaMorphoHarness": "solc-0.8.24", + "Util": "solc-0.8.24", + "ERC20NoRevert": "solc-0.8.24", + "ERC20Standard": "solc-0.8.24", + "ERC20USDT": "solc-0.8.24", }, "verify": "MetaMorphoHarness:certora/specs/Tokens.spec", "loop_iter": "2", diff --git a/certora/helpers/IMorphoHarness.sol b/certora/helpers/IMorphoHarness.sol index f6aaa1dc..d9001234 100644 --- a/certora/helpers/IMorphoHarness.sol +++ b/certora/helpers/IMorphoHarness.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later -pragma solidity 0.8.26; +pragma solidity 0.8.24; import {Id, MarketParams, Market, IMorpho} from "../../lib/morpho-blue/src/interfaces/IMorpho.sol"; diff --git a/certora/helpers/MetaMorphoHarness.sol b/certora/helpers/MetaMorphoHarness.sol index ba9424cc..e915f1a6 100644 --- a/certora/helpers/MetaMorphoHarness.sol +++ b/certora/helpers/MetaMorphoHarness.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later -pragma solidity 0.8.26; +pragma solidity 0.8.24; import { Math, MetaMorpho, Id, ConstantsLib, PendingUint192, PendingAddress, MarketConfig diff --git a/certora/helpers/Util.sol b/certora/helpers/Util.sol index aa2b4605..431992e0 100644 --- a/certora/helpers/Util.sol +++ b/certora/helpers/Util.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later -pragma solidity 0.8.26; +pragma solidity 0.8.24; import { MarketParams, diff --git a/hardhat.config.ts b/hardhat.config.ts index 2309e372..a86d47c3 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -68,7 +68,7 @@ const config: HardhatUserConfig = { solidity: { compilers: [ { - version: "0.8.26", + version: "0.8.24", settings: { optimizer: { enabled: false, diff --git a/src/MetaMorpho.sol b/src/MetaMorpho.sol index b20c1924..c9a383fc 100644 --- a/src/MetaMorpho.sol +++ b/src/MetaMorpho.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later -pragma solidity 0.8.26; +pragma solidity 0.8.24; import { MarketConfig, diff --git a/src/MetaMorphoFactory.sol b/src/MetaMorphoFactory.sol index 7f13e1b5..668474ac 100644 --- a/src/MetaMorphoFactory.sol +++ b/src/MetaMorphoFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later -pragma solidity 0.8.26; +pragma solidity 0.8.24; import {IMetaMorpho} from "./interfaces/IMetaMorpho.sol"; import {IMetaMorphoFactory} from "./interfaces/IMetaMorphoFactory.sol"; diff --git a/test/forge/helpers/IntegrationTest.sol b/test/forge/helpers/IntegrationTest.sol index 04de1aed..2b122166 100644 --- a/test/forge/helpers/IntegrationTest.sol +++ b/test/forge/helpers/IntegrationTest.sol @@ -41,8 +41,8 @@ contract IntegrationTest is BaseTest { } // Deploy MetaMorpho from artifacts - // Replaces using `new MetaMorpho` which would force 0.8.26 on all tests - // (since MetaMorpho has pragma solidity 0.8.26) + // Replaces using `new MetaMorpho` which would force 0.8.24 on all tests + // (since MetaMorpho has pragma solidity 0.8.24) function createMetaMorpho( address owner, address morpho,