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

Dev #25

Merged
merged 143 commits into from
Sep 26, 2024
Merged

Dev #25

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
a0934f8
feat: no share price decrease
MathisGD Jul 31, 2024
ea4dba7
chore: remove useless event
MathisGD Jul 31, 2024
edc11f8
test: add tests
MathisGD Jul 31, 2024
96849ba
test: verif first rule
MathisGD Jul 31, 2024
9dcf31b
fix: newHole bug
MathisGD Aug 1, 2024
a9b07cd
chore: add hole spec in ci
MathisGD Aug 1, 2024
fe6e723
refactor: factorize newTotalAssets computation
MathisGD Aug 3, 2024
8e35b4a
test: more tests
MathisGD Aug 4, 2024
f819848
test: fix one test
MathisGD Aug 5, 2024
e3204b8
style: rename hole
MathisGD Aug 5, 2024
3c9cfe9
refactor: minor improvement
MathisGD Aug 6, 2024
6964669
docs: update docs
MathisGD Aug 6, 2024
db71fbe
docs: typos
MathisGD Aug 7, 2024
7ab940b
test: add tests
MathisGD Aug 8, 2024
104ea2e
docs: add two comments
MathisGD Aug 8, 2024
04af7da
test: iterate on verif
MathisGD Aug 8, 2024
1b9089d
docs: force market removal
MathisGD Aug 8, 2024
41ac724
test: test forced market removal
MathisGD Aug 8, 2024
47fde56
test: certora fix patch
MathisGD Aug 8, 2024
9eeac63
test: fix certora munging
MathisGD Aug 9, 2024
6d4767f
feat: min timelock zero
MathisGD Aug 9, 2024
17d610b
fix: remove useless constant
MathisGD Aug 9, 2024
cdc85d0
docs: adapt docs
MathisGD Aug 9, 2024
0d8cdce
test: adapt verif
MathisGD Aug 9, 2024
ab36b5d
test: adapt tests
MathisGD Aug 9, 2024
8f9f9d6
feat: mutable name and symbol, override
MathisGD Aug 10, 2024
21de97e
feat: add events
MathisGD Aug 11, 2024
b387028
refactor: minor refactor
MathisGD Aug 11, 2024
4f903ae
docs: minor change
MathisGD Aug 11, 2024
b06cbdc
test: fix noBadPendingCap verif
MathisGD Aug 12, 2024
5e71fa8
test: fix canForceRemoveMarket verif
MathisGD Aug 12, 2024
a740591
test: fix PendingValues verif
MathisGD Aug 12, 2024
54bac05
test: remove now useless assumptions
MathisGD Aug 12, 2024
ca1d81f
test: readd useful assumption in Liveness
MathisGD Aug 12, 2024
7632c38
test: readd useful assumptions
MathisGD Aug 12, 2024
e26638a
test: comment out not passing rule
MathisGD Aug 12, 2024
aa338bb
Merge branch 'feat/no-share-price-decrease-2' into feat/other-features
MathisGD Aug 12, 2024
508ca77
test: readd assumption in smallerPendingTimelock
MathisGD Aug 12, 2024
bf250ca
test: last fixes PendingValues
MathisGD Aug 12, 2024
042d517
test: minor changes in certora
MathisGD Aug 12, 2024
2b20e82
test: fix noBadPendingTimelock
MathisGD Aug 12, 2024
4cd5c48
test: fix LostAssetsNoLink spec with summary
MathisGD Aug 12, 2024
66ad502
test: improvement certora linked rules
MathisGD Aug 13, 2024
7dca3a6
chore: update munging
QGarchery Aug 13, 2024
c7e987c
refactor: use vm.store cheatcode
QGarchery Aug 13, 2024
a482d30
chore: sort spec files by name
QGarchery Aug 13, 2024
bfd4e4b
chore: various non breaking improvements in src and tests
MathisGD Aug 13, 2024
6f95c79
test: iteration certora linked
MathisGD Aug 13, 2024
493273e
fix: verification signature
QGarchery Aug 13, 2024
2a1b3a1
style: rename internal function
MathisGD Aug 13, 2024
16bf70f
Merge pull request #11 from morpho-org/refactor/no-share-price
MathisGD Aug 13, 2024
29251fc
docs: document covering of lost funds
MathisGD Aug 13, 2024
5039521
Merge remote-tracking branch 'private/feat/no-share-price-decrease-2'…
MathisGD Aug 13, 2024
b007bfe
test: minor fixes certora linked
MathisGD Aug 13, 2024
253a77f
test: minor improvement
MathisGD Aug 13, 2024
6e695b0
Merge remote-tracking branch 'private/feat/no-share-price-decrease-2'…
MathisGD Aug 13, 2024
950c187
test: certora improve LostAssetsLink
MathisGD Aug 15, 2024
7c54e1f
test: comment out two timing out rules
MathisGD Aug 15, 2024
febee47
chore: bumb solidity version to reduce contract size
MathisGD Aug 15, 2024
bcd6b9c
Merge branch 'feat/no-share-price-decrease-2' into feat/mutable-name-3
MathisGD Aug 15, 2024
e18ebc3
Merge branch 'feat/no-share-price-decrease-2' into feat/other-features
MathisGD Aug 15, 2024
bd40350
test: fix compilation in certora setup
MathisGD Aug 15, 2024
992b6b9
test: last bumps
MathisGD Aug 15, 2024
e755733
test: fix hardhat config
MathisGD Aug 15, 2024
142aeb9
test: fix hardhat config
MathisGD Aug 15, 2024
19e31ac
test: try back 0.8.24
MathisGD Aug 16, 2024
48f4ba0
chore: 24/paris
MathisGD Aug 16, 2024
bf2ccd7
chore: 26/paris
MathisGD Aug 16, 2024
46682af
test: switch back verification to cancun
MathisGD Aug 16, 2024
e628696
test: fix hardhat config
MathisGD Aug 16, 2024
4c1086e
fix: restore NotEnoughLiquidity error on overwithdraw
adhusson Aug 16, 2024
697c5aa
feat: initial timelock can be 0
adhusson Aug 16, 2024
28c751c
docs: minor update
MathisGD Aug 16, 2024
5ef4f07
test: check lost asset increase after bad debt
adhusson Aug 16, 2024
c05b8ac
Update test/forge/LostAssetsTest.sol
adhusson Aug 16, 2024
e43aaf1
Update test/forge/LostAssetsTest.sol
adhusson Aug 16, 2024
8ecd96a
fix: test fuzz params, collat min bound, collat max bound
adhusson Aug 16, 2024
e4c5a82
docs: add comment to explain clamp
adhusson Aug 16, 2024
ef6e92f
Merge pull request #21 from morpho-org/test/test-lost-asset-increase-…
adhusson Aug 16, 2024
64983d4
fix: proper collateral round up in testLostAssetsAfterBadDebt
adhusson Aug 16, 2024
c4f0c56
Merge pull request #18 from morpho-org/fix/restore-not-enough-liquidity
adhusson Aug 16, 2024
cb566bb
test: lost assets can be incremented
adhusson Aug 16, 2024
ca9e6d5
test: adapt verif to new timelock zero spec
MathisGD Aug 17, 2024
1be9c85
Merge pull request #24 from morpho-org/test/adapt-verif
MathisGD Aug 17, 2024
f07d3a4
Merge pull request #19 from morpho-org/feat/initial-timelock-can-be-zero
MathisGD Aug 17, 2024
e54ab3a
docs: document lostAsset rounding accrual
MathisGD Aug 17, 2024
6b6e140
Merge pull request #5 from morpho-org/feat/no-share-price-decrease-2
MathisGD Aug 18, 2024
d42180e
test: minor changes verif
MathisGD Aug 18, 2024
d97b5e1
docs: minor update
MathisGD Aug 18, 2024
891624c
Merge remote-tracking branch 'private/feat/mutable-name-3' into feat/…
MathisGD Aug 18, 2024
1a4aba1
Merge pull request #7 from morpho-org/feat/other-features
MathisGD Aug 18, 2024
1d13573
Merge pull request #26 from morpho-org/feat/no-share-price-decrease-2
MathisGD Aug 18, 2024
632dd01
Merge pull request #10 from morpho-org/feat/mutable-name-3
MathisGD Aug 19, 2024
fcd98e8
chore: update munging
QGarchery Aug 19, 2024
e22ecb3
Merge pull request #30 from morpho-org/certora/update-munging
MathisGD Aug 19, 2024
da7bed8
refactor: only allow 0 timelock special value at deployment
QGarchery Aug 19, 2024
2472947
refactor: change name min timelock
QGarchery Aug 19, 2024
5644586
test: refactor bound timelock
QGarchery Aug 19, 2024
ffe47a4
docs: boundTimelock description
QGarchery Aug 19, 2024
b3592c1
chore: remove solc_evm_version flag
QGarchery Aug 19, 2024
2e359d4
test: bound initial timelock to test 0
QGarchery Aug 19, 2024
5f9fe07
Merge pull request #31 from morpho-org/refactor/min-post-initializati…
QGarchery Aug 19, 2024
bf008d6
Merge pull request #33 from morpho-org/certora/default-evm-version
QGarchery Aug 19, 2024
aa4e787
fix: timelock proofs
QGarchery Aug 19, 2024
d12193a
fix: temporary use evm version paris
QGarchery Aug 28, 2024
e665e35
fix: use persistent ghost for sumBalances
QGarchery Aug 28, 2024
e3a94b4
refactor: isTimelockInRange equivalent
QGarchery Aug 28, 2024
a42db8b
feat: improve isSmallerPendingTimelock invariant
QGarchery Aug 28, 2024
e958f9c
refactor: use sequential query to avoid hanging
QGarchery Aug 29, 2024
009828c
chore: run linter
QGarchery Aug 29, 2024
195e77b
docs: document passing rules
QGarchery Aug 30, 2024
45f69aa
docs: improve assumption wording
QGarchery Aug 30, 2024
472e8de
chore: deactivate lost asset link again
QGarchery Aug 30, 2024
a66236a
Merge branch 'dev' into certora/fix-timelock-proofs
QGarchery Aug 30, 2024
d61d5e3
Merge pull request #34 from morpho-org/certora/fix-timelock-proofs
MathisGD Sep 1, 2024
0e8ef82
chore: rollback _checkTimelockBounds change
MathisGD Sep 3, 2024
d907fd7
refactor: rollback _accruedFeeAndAssets named return values
MathisGD Sep 4, 2024
72823aa
fix: use checkTimelockBounds in the constructor
QGarchery Sep 4, 2024
3e7e4f7
fix: set timelock in constructor
QGarchery Sep 4, 2024
385159e
Merge pull request #39 from morpho-org/chore/rollback-timelock-bounds…
MathisGD Sep 4, 2024
744a1fe
refactor: remove explicit return
MathisGD Sep 4, 2024
c66e943
test: add missing tests
MathisGD Sep 5, 2024
84d038d
test: fix testCoverLostAssets
MathisGD Sep 5, 2024
9020281
Merge branch 'dev' into test/test-lost-asset-creation
MathisGD Sep 5, 2024
37755ad
test: minor docs addition
MathisGD Sep 6, 2024
e4a5933
docs: permit incompatiblity
MathisGD Sep 12, 2024
9f09cf1
docs: document new owner power
MathisGD Sep 12, 2024
eab29f6
docs: document change of behaviour of total assets
MathisGD Sep 12, 2024
70ed795
docs: minor improvement
MathisGD Sep 13, 2024
b80917f
docs: minor update
MathisGD Sep 13, 2024
b72768f
chore: add oz audit
MathisGD Sep 16, 2024
3af1187
Merge pull request #38 from morpho-org/feat/rollback-named-return-values
MathisGD Sep 23, 2024
431d7c7
Merge pull request #42 from morpho-org/docs/permit
MathisGD Sep 23, 2024
0efd197
Merge pull request #44 from morpho-org/docs/totalassets
MathisGD Sep 23, 2024
c762945
Merge pull request #43 from morpho-org/docs/owner-set-name
MathisGD Sep 23, 2024
d7821ee
Merge pull request #23 from morpho-org/test/test-lost-asset-creation
MathisGD Sep 23, 2024
31a3c61
Merge pull request #46 from morpho-org/chore/audits
MathisGD Sep 23, 2024
9fa1527
Merge pull request #37 from morpho-org/chore/rollback-checkTimelockBo…
MathisGD Sep 24, 2024
168d0e0
chore: add cantina managed audit
MathisGD Sep 23, 2024
f7f742c
Merge pull request #48 from morpho-org/chore/audits
MathisGD Sep 24, 2024
55bf455
test: fix testSetSymbolNotOwner test
MathisGD Sep 24, 2024
047c802
docs: readme micro fix
MathisGD Sep 24, 2024
79060e6
chore: minor update in hardhat.config.ts
MathisGD Sep 24, 2024
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
8 changes: 5 additions & 3 deletions .github/workflows/certora.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ jobs:
- Immutability
- LastUpdated
- Liveness
- LostAssetsLink
- LostAssetsNoLink
- MarketInteractions
- PendingValues
- Range
Expand Down Expand Up @@ -50,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.21)
- name: Install solc (0.8.26)
run: |
wget https://github.com/ethereum/solidity/releases/download/v0.8.21/solc-static-linux
wget https://github.com/ethereum/solidity/releases/download/v0.8.26/solc-static-linux
chmod +x solc-static-linux
sudo mv solc-static-linux /usr/local/bin/solc-0.8.21
sudo mv solc-static-linux /usr/local/bin/solc-0.8.26

- name: Apply munging
run: make -C certora munged
Expand Down
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ Those rewards can be transferred to the `skimRecipient`.
The vault's owner has the choice to distribute back these rewards to vault depositors however they want.
For more information about this use case, see the [Rewards](#rewards) section.

All actions that may be against users' interests (e.g. enabling a market with a high exposure) are subject to a timelock of minimum 24 hours.
All actions that may be against users' interests (e.g. enabling a market with a high exposure) is subject to a timelock.
To make vault setup easier, the initial timelock can be either 0 or anywhere between 24 hours and 2 weeks.
Any further timelock change must set the value between 24 hours and 2 weeks.
The `owner`, or the `guardian` if set, can revoke the action during the timelock.
After the timelock, the action can be executed by anyone.

Expand All @@ -51,6 +53,7 @@ It can:
- [Timelocked if already set] Set the guardian.
- Set the performance fee (capped at 50%).
- Set the fee recipient.
- Set the name and symbol of the vault.

#### Curator

Expand Down
Binary file not shown.
Binary file not shown.
6 changes: 3 additions & 3 deletions certora/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ 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.21 which is used for compiling MetaMorpho
- `solc8.19` for solidity compiler version 0.8.19 which is used for compiling Morpho Blue.
- `solc-0.8.26` for solidity compiler version 0.8.26 which is used for compiling MetaMorpho
- `solc-0.8.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:

Expand Down Expand Up @@ -68,7 +68,7 @@ The following function defined in [`PendingValues.spec`](specs/PendingValues.spe

```solidity
function isSmallerPendingTimelock() returns bool {
return assert_uint256(pendingTimelock_().value) < timelock();
return assert_uint256(pendingTimelock_().value) <= timelock();
}
```

Expand Down
38 changes: 19 additions & 19 deletions certora/applyMunging.patch
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
diff -ruN interfaces/IMetaMorpho.sol interfaces/IMetaMorpho.sol
--- interfaces/IMetaMorpho.sol 2024-03-20 15:13:25.818251404 +0100
+++ interfaces/IMetaMorpho.sol 2024-03-22 11:22:35.598510490 +0100
--- interfaces/IMetaMorpho.sol 2024-08-19 12:35:33.153217935 +0200
+++ interfaces/IMetaMorpho.sol 2024-09-04 10:44:42.493695519 +0200
@@ -1,9 +1,9 @@
// SPDX-License-Identifier: GPL-2.0-or-later
pragma solidity >=0.5.0;
Expand All @@ -24,8 +24,8 @@ diff -ruN interfaces/IMetaMorpho.sol interfaces/IMetaMorpho.sol

/// @notice The address of the curator.
diff -ruN libraries/ErrorsLib.sol libraries/ErrorsLib.sol
--- libraries/ErrorsLib.sol 2024-03-20 15:13:25.802251714 +0100
+++ libraries/ErrorsLib.sol 2024-03-22 11:22:35.598510490 +0100
--- libraries/ErrorsLib.sol 2024-08-19 13:28:08.003401745 +0200
+++ libraries/ErrorsLib.sol 2024-09-04 10:44:42.493695519 +0200
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
pragma solidity ^0.8.0;
Expand All @@ -36,8 +36,8 @@ diff -ruN libraries/ErrorsLib.sol libraries/ErrorsLib.sol
/// @title ErrorsLib
/// @author Morpho Labs
diff -ruN libraries/EventsLib.sol libraries/EventsLib.sol
--- libraries/EventsLib.sol 2024-03-20 15:13:25.802251714 +0100
+++ libraries/EventsLib.sol 2024-03-22 11:22:35.598510490 +0100
--- libraries/EventsLib.sol 2024-08-16 18:17:20.260781030 +0200
+++ libraries/EventsLib.sol 2024-09-04 10:44:42.493695519 +0200
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
pragma solidity ^0.8.0;
Expand All @@ -48,8 +48,8 @@ diff -ruN libraries/EventsLib.sol libraries/EventsLib.sol
import {PendingAddress} from "./PendingLib.sol";

diff -ruN MetaMorpho.sol MetaMorpho.sol
--- MetaMorpho.sol 2024-03-20 15:13:25.862250553 +0100
+++ MetaMorpho.sol 2024-03-22 14:27:33.670423544 +0100
--- MetaMorpho.sol 2024-09-04 10:44:33.985829466 +0200
+++ MetaMorpho.sol 2024-09-04 10:44:42.497695457 +0200
@@ -9,24 +9,22 @@
IMetaMorphoBase,
IMetaMorphoStaticTyping
Expand Down Expand Up @@ -114,9 +114,9 @@ diff -ruN MetaMorpho.sol MetaMorpho.sol

/// @notice OpenZeppelin decimals offset used by the ERC4626 implementation.
/// @dev Calculated to be max(0, 18 - underlyingDecimals) at construction, so the initial conversion rate maximizes
@@ -107,6 +103,19 @@
/// @inheritdoc IMetaMorphoBase
uint256 public lastTotalAssets;
@@ -116,6 +112,19 @@
/// @dev "Overrides" the ERC20's storage variable to be able to modify it.
string private _symbol;

+ // HARNESS
+ // The index of the identifier of the last market withdrawn.
Expand All @@ -134,16 +134,16 @@ diff -ruN MetaMorpho.sol MetaMorpho.sol
/* CONSTRUCTOR */

/// @dev Initializes the contract.
@@ -126,7 +135,7 @@
) ERC4626(IERC20(_asset)) ERC20Permit(_name) ERC20(_name, _symbol) Ownable(owner) {
if (morpho == address(0)) revert ErrorsLib.ZeroAddress();
@@ -144,7 +153,7 @@
_symbol = __symbol;
emit EventsLib.SetSymbol(__symbol);

- MORPHO = IMorpho(morpho);
+ MORPHO = IMorphoHarness(morpho);
DECIMALS_OFFSET = uint8(uint256(18).zeroFloorSub(IERC20Metadata(_asset).decimals()));

_checkTimelockBounds(initialTimelock);
@@ -338,6 +347,9 @@
IERC20(_asset).forceApprove(morpho, type(uint256).max);
@@ -365,6 +374,9 @@
seen[prevIndex] = true;

newWithdrawQueue[i] = id;
Expand All @@ -153,7 +153,7 @@ diff -ruN MetaMorpho.sol MetaMorpho.sol
}

for (uint256 i; i < currLength; ++i) {
@@ -355,6 +367,10 @@
@@ -382,6 +394,10 @@
}
}

Expand All @@ -164,7 +164,7 @@ diff -ruN MetaMorpho.sol MetaMorpho.sol
delete config[id];
}
}
@@ -743,6 +759,9 @@
@@ -770,6 +786,9 @@

if (supplyCap > 0) {
if (!marketConfig.enabled) {
Expand All @@ -174,7 +174,7 @@ diff -ruN MetaMorpho.sol MetaMorpho.sol
withdrawQueue.push(id);

if (withdrawQueue.length > ConstantsLib.MAX_QUEUE_LENGTH) revert ErrorsLib.MaxQueueLengthExceeded();
@@ -802,6 +821,9 @@
@@ -829,6 +848,9 @@
/// @dev Withdraws `assets` from Morpho.
function _withdrawMorpho(uint256 assets) internal {
for (uint256 i; i < withdrawQueue.length; ++i) {
Expand Down
2 changes: 1 addition & 1 deletion certora/confs/ConsistentState.conf
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"certora/helpers/MetaMorphoHarness.sol",
"certora/helpers/Util.sol",
],
"solc": "solc-0.8.21",
"solc": "solc-0.8.26",
"parametric_contracts": [
"MetaMorphoHarness",
],
Expand Down
2 changes: 1 addition & 1 deletion certora/confs/DistinctIdentifiers.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"files": [
"certora/helpers/MetaMorphoHarness.sol",
],
"solc": "solc-0.8.21",
"solc": "solc-0.8.26",
"verify": "MetaMorphoHarness:certora/specs/DistinctIdentifiers.spec",
"loop_iter": "2",
"optimistic_loop": true,
Expand Down
2 changes: 1 addition & 1 deletion certora/confs/Enabled.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"files": [
"certora/helpers/MetaMorphoHarness.sol",
],
"solc": "solc-0.8.21",
"solc": "solc-0.8.26",
"verify": "MetaMorphoHarness:certora/specs/Enabled.spec",
"loop_iter": "2",
"optimistic_loop": true,
Expand Down
2 changes: 1 addition & 1 deletion certora/confs/Immutability.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"files": [
"certora/helpers/MetaMorphoHarness.sol",
],
"solc": "solc-0.8.21",
"solc": "solc-0.8.26",
"verify": "MetaMorphoHarness:certora/specs/Immutability.spec",
"loop_iter": "2",
"optimistic_loop": true,
Expand Down
4 changes: 2 additions & 2 deletions certora/confs/LastUpdated.conf
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
],
"solc_map": {
"MorphoHarness": "solc-0.8.19",
"MetaMorphoHarness": "solc-0.8.21",
"Util": "solc-0.8.21",
"MetaMorphoHarness": "solc-0.8.26",
"Util": "solc-0.8.26",
},
"verify": "MetaMorphoHarness:certora/specs/LastUpdated.spec",
"loop_iter": "2",
Expand Down
4 changes: 2 additions & 2 deletions certora/confs/Liveness.conf
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
],
"solc_map": {
"MorphoHarness": "solc-0.8.19",
"MetaMorphoHarness": "solc-0.8.21",
"Util": "solc-0.8.21",
"MetaMorphoHarness": "solc-0.8.26",
"Util": "solc-0.8.26",
},
"verify": "MetaMorphoHarness:certora/specs/Liveness.spec",
"loop_iter": "2",
Expand Down
28 changes: 28 additions & 0 deletions certora/confs/LostAssetsLink.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"files": [
"certora/helpers/MetaMorphoHarness.sol",
"lib/morpho-blue/certora/harness/MorphoHarness.sol",
"certora/helpers/Util.sol",
],
"solc_map": {
"MetaMorphoHarness": "solc-0.8.26",
"MorphoHarness": "solc-0.8.19",
"Util": "solc-0.8.26"
},
"solc_evm_version": "paris",
"link": [
"MetaMorphoHarness:MORPHO=MorphoHarness",
],
"verify": "MetaMorphoHarness:certora/specs/LostAssetsLink.spec",
"loop_iter": "2",
"optimistic_loop": true,
"prover_args": [
"-depth 3",
"-mediumTimeout 20",
"-timeout 3600",
"-superOptimisticReturnsize true",
],
"rule_sanity": "basic",
"server": "production",
"msg": "MetaMorpho LostAssets Link",
}
18 changes: 18 additions & 0 deletions certora/confs/LostAssetsNoLink.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"files": [
"certora/helpers/MetaMorphoHarness.sol",
],
"solc": "solc-0.8.26",
"verify": "MetaMorphoHarness:certora/specs/LostAssetsNoLink.spec",
"loop_iter": "2",
"optimistic_loop": true,
"prover_args": [
"-depth 3",
"-mediumTimeout 20",
"-timeout 240",
"-superOptimisticReturnsize true",
],
"rule_sanity": "basic",
"server": "production",
"msg": "MetaMorpho LostAssets No Link",
}
2 changes: 1 addition & 1 deletion certora/confs/MarketInteractions.conf
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"certora/helpers/MetaMorphoHarness.sol",
"certora/helpers/Util.sol",
],
"solc": "solc-0.8.21",
"solc": "solc-0.8.26",
"parametric_contracts": [
"MetaMorphoHarness",
],
Expand Down
2 changes: 1 addition & 1 deletion certora/confs/PendingValues.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"files": [
"certora/helpers/MetaMorphoHarness.sol",
],
"solc": "solc-0.8.21",
"solc": "solc-0.8.26",
"verify": "MetaMorphoHarness:certora/specs/PendingValues.spec",
"loop_iter": "2",
"optimistic_loop": true,
Expand Down
2 changes: 1 addition & 1 deletion certora/confs/Range.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"files": [
"certora/helpers/MetaMorphoHarness.sol",
],
"solc": "solc-0.8.21",
"solc": "solc-0.8.26",
"verify": "MetaMorphoHarness:certora/specs/Range.spec",
"loop_iter": "2",
"optimistic_loop": true,
Expand Down
3 changes: 2 additions & 1 deletion certora/confs/Reentrancy.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
"files": [
"certora/helpers/MetaMorphoHarness.sol",
],
"solc": "solc-0.8.21",
"solc_evm_version": "paris",
"solc": "solc-0.8.26",
"verify": "MetaMorphoHarness:certora/specs/Reentrancy.spec",
"loop_iter": "2",
"optimistic_loop": true,
Expand Down
7 changes: 4 additions & 3 deletions certora/confs/Reverts.conf
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@
"link": [
"MetaMorphoHarness:MORPHO=MorphoHarness",
],
"solc_evm_version": "paris",
"solc_map": {
"MorphoHarness": "solc-0.8.19",
"MetaMorphoHarness": "solc-0.8.21",
"Util": "solc-0.8.21",
"ERC20Standard": "solc-0.8.21",
"MetaMorphoHarness": "solc-0.8.26",
"Util": "solc-0.8.26",
"ERC20Standard": "solc-0.8.26",
},
"verify": "MetaMorphoHarness:certora/specs/Reverts.spec",
"loop_iter": "2",
Expand Down
2 changes: 1 addition & 1 deletion certora/confs/Roles.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"files": [
"certora/helpers/MetaMorphoHarness.sol",
],
"solc": "solc-0.8.21",
"solc": "solc-0.8.26",
"verify": "MetaMorphoHarness:certora/specs/Roles.spec",
"loop_iter": "2",
"optimistic_loop": true,
Expand Down
2 changes: 1 addition & 1 deletion certora/confs/Timelock.conf
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
],
"solc_map": {
"MorphoHarness": "solc-0.8.19",
"MetaMorphoHarness": "solc-0.8.21",
"MetaMorphoHarness": "solc-0.8.26",
},
"verify": "MetaMorphoHarness:certora/specs/Timelock.spec",
"loop_iter": "2",
Expand Down
11 changes: 6 additions & 5 deletions certora/confs/Tokens.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,14 @@
"link": [
"MetaMorphoHarness:MORPHO=MorphoHarness",
],
"solc_evm_version": "paris",
"solc_map": {
"MorphoHarness": "solc-0.8.19",
"MetaMorphoHarness": "solc-0.8.21",
"Util": "solc-0.8.21",
"ERC20NoRevert": "solc-0.8.21",
"ERC20Standard": "solc-0.8.21",
"ERC20USDT": "solc-0.8.21",
"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",
},
"verify": "MetaMorphoHarness:certora/specs/Tokens.spec",
"loop_iter": "2",
Expand Down
2 changes: 1 addition & 1 deletion certora/helpers/IMorphoHarness.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later
pragma solidity 0.8.21;
pragma solidity 0.8.26;

import {Id, MarketParams, Market, IMorpho} from "../../lib/morpho-blue/src/interfaces/IMorpho.sol";

Expand Down
Loading
Loading