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

Upstream Certora Specs #256

Merged
merged 152 commits into from
Aug 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
c40d9c9
Autofinder bug in EVault
andrew-certora Mar 11, 2024
ff74e60
Confs for EVault/modules. Start interestRateModels
andrew-certora Mar 11, 2024
6661360
initial IRM confs done
andrew-certora Mar 11, 2024
db89a1e
Fix autofinder
andrew-certora Mar 11, 2024
5268490
More prover setup
andrew-certora Mar 11, 2024
fd23976
Mainly ERC20 Linking for Token
andrew-certora Mar 11, 2024
dc8407d
Various configuration fixes
andrew-certora Mar 12, 2024
b0d6b70
Attempt DToken summarization. Does not seem to matter
andrew-certora Mar 13, 2024
116e8a1
Remove marketStorage linking in BalanceForwarder
andrew-certora Mar 14, 2024
f02c8cb
Mainly EVaultHarness
andrew-certora Mar 15, 2024
2e4a898
Linking for individual modules
andrew-certora Mar 18, 2024
230fcd0
parametric_contracts
andrew-certora Mar 18, 2024
af3f5a3
dtoken use evaultHarness
andrew-certora Mar 19, 2024
9382964
Fix protocolConfig linking
andrew-certora Mar 19, 2024
d7c8987
Setup phase done for now.
andrew-certora Mar 21, 2024
c256fa5
update base
andrew-certora Mar 22, 2024
5dad274
Clean up commented options
andrew-certora Mar 22, 2024
2c37659
Partial progress on bitmasks
andrew-certora Mar 22, 2024
44e41f6
MarketCache error
andrew-certora Mar 25, 2024
afd12b2
liquidation mustRevert cases
andrew-certora Mar 25, 2024
d13d135
checkLiquidation_healthy finally working
andrew-certora Mar 26, 2024
1985a5a
Partial progress on max repay greater
andrew-certora Mar 26, 2024
cfa61b0
fix after master update
andrew-certora Mar 26, 2024
2c6c90c
Prove reverting for calculateLiquidation
andrew-certora Mar 27, 2024
b2bf90b
Fixes for function finding
andrew-certora Apr 2, 2024
f5bf19f
Can get past loadVault sanity with summary
andrew-certora Jun 5, 2024
7f3062c
Summarize PriceOracle, cleanup
andrew-certora Apr 5, 2024
00768fc
Fix balanceOf linking
andrew-certora Apr 5, 2024
89e2072
Update spec in liquidate. Refine revert conditions
andrew-certora Apr 5, 2024
04758c1
mainly cleanup
andrew-certora Apr 8, 2024
5ffe697
Balance forwarder working
andrew-certora Jun 5, 2024
05f0b5f
BalanceForwarding rule
andrew-certora Apr 9, 2024
2061011
Add missing harness
andrew-certora Apr 9, 2024
ff7c978
Add ProxyUtils.metadata summary
andrew-certora Apr 9, 2024
ee2f901
Mainly BalanceForwarder. Also Vault, CheckLiquidation
andrew-certora Apr 10, 2024
53d9433
RiskManager revert cases. CheckLiquidation healthy
andrew-certora Apr 11, 2024
05d91cb
Mainly fix quotes summary, SMT config
andrew-certora Apr 11, 2024
5d2027f
Mainly getCollateralValue_borrowing_lower
andrew-certora Apr 15, 2024
991dffc
edit comments
andrew-certora Apr 15, 2024
6625d9c
Mainly move assumptions from CheckLiquidation to RiskManager
andrew-certora Apr 16, 2024
04c85dd
fix LTVConfigAssumptions
andrew-certora Apr 16, 2024
26e74e6
Use loop bound on RiskManager borrowing_lower
andrew-certora Apr 16, 2024
e1ed525
Lots of refactoring
andrew-certora Apr 17, 2024
cc3d138
More refactoring with common harness functions in abstract
andrew-certora Apr 17, 2024
7f07f9e
More refactoring
andrew-certora Apr 17, 2024
e11a143
More refactoring. Use BaseHarness for BalanceForwarder
andrew-certora Apr 18, 2024
aaa731d
Refactoring in Liquidation
andrew-certora Apr 18, 2024
2ef76c4
Delete vaults
andrew-certora Apr 18, 2024
691965e
Add missing liquidation files
andrew-certora Apr 18, 2024
3228018
comment about status in Liquidation
andrew-certora Apr 18, 2024
9cb5427
Lots of refactoring, making harnesses for new pattern
andrew-certora Apr 18, 2024
29f1373
ERC4626 compiles with Vault+Token
andrew-certora Apr 22, 2024
d7d9c14
Remove bad envfrees in ERC4626 spec
andrew-certora Apr 22, 2024
7924908
Fix isOperationDisabled
andrew-certora Apr 24, 2024
73141e2
Update Vault no surprising reverts
andrew-certora Apr 25, 2024
a54767b
Tweak comment in cache.spec
andrew-certora Apr 25, 2024
d2af545
some fixups after updating
andrew-certora Apr 29, 2024
485bd37
Comments with runs. Fixing timeout for cache. Fixes in vault spec/con…
andrew-certora Apr 29, 2024
49dc147
run link for vault
andrew-certora Apr 29, 2024
8a9272f
WIP on erc4626. Mainly adding helpers. Some edits to Base.spec
andrew-certora Apr 23, 2024
1b3bf16
Rerun all rules to check if sanity issues fixed
andrew-certora Apr 23, 2024
cf3a928
Antti: summarize rpow
aehyvari Apr 25, 2024
6114c54
depositMonotonicity working with assumption
andrew-certora Apr 29, 2024
0d9a34d
Add run link for depositMonotonicity
andrew-certora Apr 29, 2024
d70f776
Mainly summarize calls that havoc contract state
andrew-certora Apr 29, 2024
3be4b25
dustFavorsTheHouse passing
andrew-certora Apr 29, 2024
83a82e5
Add more passing run links
andrew-certora Apr 29, 2024
7032a4b
Make base consistent with main certora branch
andrew-certora Apr 30, 2024
0318b65
Cache reverts passing run
andrew-certora May 1, 2024
9702108
Mainly attempted summary of loadVault
andrew-certora May 1, 2024
15f4fa2
Vault summary for ERC4626
andrew-certora May 2, 2024
c3bba7d
LoadVault summary returns same values for same env
andrew-certora May 2, 2024
f2daf7f
Mainly check-in fixed harness
andrew-certora May 3, 2024
6cb53b9
delete old EVaultERC4626 conf
andrew-certora May 7, 2024
33b7377
getCurrentOnBehalfOfAccount summary
andrew-certora May 9, 2024
2fb4c1d
tweak comments in loadvault, accumulatedFees gtz
andrew-certora May 9, 2024
65208b6
Add passing run link
andrew-certora May 9, 2024
545820d
initVault summary
andrew-certora May 10, 2024
68c667f
fixed sanity in totalSupplyIsSumOfBalances and it passes
andrew-certora May 10, 2024
c30ca88
Add run links
andrew-certora May 13, 2024
db52af4
Mainly LoadVault summary again
andrew-certora May 16, 2024
b5ca4d1
delete InitVault summary
andrew-certora May 16, 2024
d5849bb
Save status before update
andrew-certora May 20, 2024
99e9e37
Save supplyLessThanUnderlyingAsset at least once in git history
andrew-certora May 29, 2024
7b89e4f
Remove supplyLessThanUnderlyingAsset (may not be true)
andrew-certora May 29, 2024
0c0ea5b
Mainly health status invariant
andrew-certora May 31, 2024
7d18fa0
Mainly health status check changes
andrew-certora Jun 3, 2024
cc9e695
healthStatus config updates
andrew-certora Jun 3, 2024
397c692
Mainly Health status check, last few ERC4626 rules
andrew-certora Jun 5, 2024
454e266
Martin's spec performance improvement
andrew-certora Jun 5, 2024
4c035d2
Fix change in LTVConfig
andrew-certora Jun 6, 2024
f44b141
Revert "Martin's spec performance improvement"
andrew-certora Jun 7, 2024
4c8dac6
Trim reqs in assetsMoreThanSupply, add conf options
andrew-certora Jun 7, 2024
6735f88
Fixing some spurious counterexamples
andrew-certora Jun 12, 2024
eed2890
Add missing harness, add scripts
andrew-certora Jun 12, 2024
bf52c6d
Some cleanup
andrew-certora Jun 17, 2024
ffd05e5
Deleting commented code in ERC4626 spec
andrew-certora Jun 17, 2024
f03f1ac
Fix summary bug. split confs
andrew-certora Jun 18, 2024
f442fc9
Holy grail for liquidate
andrew-certora Jun 25, 2024
a462c1e
add run links to Liquidation health status
andrew-certora Jun 25, 2024
fda76d2
Fix comment
andrew-certora Jun 26, 2024
3f542d1
fix comment again
andrew-certora Jun 26, 2024
911c608
minor cleanup
andrew-certora Jun 27, 2024
f2b555b
try fixing submodule commits
andrew-certora Jun 28, 2024
9945a5f
Try fixing lib/forge-std commit
andrew-certora Jun 28, 2024
b49cd69
submodule commits evc, openzeppelin
andrew-certora Jun 28, 2024
193c646
Cleanup in src
andrew-certora Jun 28, 2024
f6ac01e
Delete dead file
andrew-certora Jun 28, 2024
89309d7
Try changing comment placement to appease linter
andrew-certora Jun 28, 2024
fcf7388
Fix BalanceForwarder
andrew-certora Jul 2, 2024
ea0d0d3
Add conf splitting that worked
andrew-certora Jul 4, 2024
53851e4
Improvements to health status invariant
andrew-certora Jul 2, 2024
3e84150
Holy Grail first round of improvements
andrew-certora Jul 4, 2024
b16a9a2
More conf and spec tweaking
andrew-certora Jul 4, 2024
9471803
uncomment important bits of script
andrew-certora Jul 4, 2024
40146dc
Comments about NONDET summaries
andrew-certora Jul 4, 2024
1a827b1
Improve comments
andrew-certora Jul 4, 2024
d18acf9
delete commented out code
andrew-certora Jul 5, 2024
8d5890d
Fixes in Cache spec/conf
andrew-certora Jul 22, 2024
6a9ae1d
delete more commented lines in Cache.spec
andrew-certora Jul 22, 2024
001efdf
Delete commented options in vaultSolvency-withdraw
andrew-certora Jul 22, 2024
def5032
Fixes to VaultERC4626.conf
andrew-certora Jul 22, 2024
1b30c55
Fixes to RiskManager.conf
andrew-certora Jul 22, 2024
2d03cdb
Comment in GhostPow. Remove typecast in Cache.spec
andrew-certora Jul 22, 2024
bea1106
Comment individual rules
andrew-certora Jul 22, 2024
8c58065
delete unused summary
andrew-certora Jul 22, 2024
935b8ae
Liquidation CEX fix
andrew-certora Jul 22, 2024
9e38ecf
Delete rule that never passed in RiskManager. Other fixes
andrew-certora Jul 22, 2024
92c11b5
dustFavorsTheHouseAssets rule passing
andrew-certora Jul 22, 2024
dfb8b6a
Add conf file for dustFavorsTheHouseAssets
andrew-certora Jul 22, 2024
0db0850
Merge in Alex rules
andrew-certora Jul 22, 2024
a67739d
Mainly delete dead code and unused confs
andrew-certora Jul 24, 2024
d8e07b4
delete some commented code
andrew-certora Jul 24, 2024
d13aec8
ERC4626 script and cleanup. REAMEs for groups of confs
andrew-certora Jul 24, 2024
475fc05
setup for staging for vaultSolvency, splitting for base conf
andrew-certora Jul 25, 2024
ef2bf73
PR Fixes
andrew-certora Jul 25, 2024
ecc6afb
Fix linking for EToken collateral
andrew-certora Jul 25, 2024
7ec7c2b
Antti configs for cache. EToken tweaks.
andrew-certora Jul 26, 2024
de28710
Add revised Cache.spec
andrew-certora Jul 26, 2024
4ccbd7e
Rule version of specs for withdraw
andrew-certora Aug 2, 2024
3c52bf2
delete unused code
andrew-certora Aug 2, 2024
6e2851d
Add rule about LTV parameter assumptions
andrew-certora Aug 7, 2024
1eb8324
Delete comment
andrew-certora Aug 7, 2024
738743e
Reverify Cache.spec with LEQ
andrew-certora Aug 8, 2024
93f551a
drop check in EnforceCollateralTransfer, scripts to run governance sp…
andrew-certora Aug 9, 2024
ac2d4b6
Fix issue with env variables
andrew-certora Aug 12, 2024
b04e9da
Various PR fixes
andrew-certora Aug 12, 2024
4f06340
Various fixes. New rules requested from PR
andrew-certora Aug 12, 2024
ff0705c
env fix in Governance. passing run link in checkLiquidation_healthy_r…
andrew-certora Aug 12, 2024
593665e
More governance fixes
andrew-certora Aug 12, 2024
1338b30
Mainly update runscript
andrew-certora Aug 13, 2024
ad855db
add summary to get new RiskManager rule passing
andrew-certora Aug 13, 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
27 changes: 27 additions & 0 deletions certora/conf/Cache.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"files": [
"certora/harness/CacheHarness.sol"
],
"verify": "CacheHarness:certora/specs/Cache.spec",
"solc": "solc8.23",
"packages": [
"ethereum-vault-connector=lib/ethereum-vault-connector/src",
"forge-std=lib/forge-std/src"
],
"prover_version": "master",
"server" : "production",
"parametric_contracts": ["CacheHarness"],
"optimistic_loop": true,
"loop_iter": "2",
"solc_via_ir": true,
"solc_optimize": "10000",
"rule_sanity": "basic",
"function_finder_mode" : "relaxed",
"finder_friendly_optimizer" : false,
"prover_args": [
"-smt_nonLinearArithmetic true",
"-adaptiveSolverConfig false",
"-solvers [z3:def{randomSeed=1},z3:def{randomSeed=2},z3:def{randomSeed=3},z3:def{randomSeed=4},z3:def{randomSeed=5},z3:def{randomSeed=6},z3:def{randomSeed=7},z3:def{randomSeed=8},z3:def{randomSeed=9},z3:def{randomSeed=10}]"
],
"smt_timeout": "7000"
}
1 change: 1 addition & 0 deletions certora/conf/ERC4626Split/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
To run all of these conf files easily, use the certora/scripts/runERC4626RulesSplitConfs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"files": [
"lib/ethereum-vault-connector/src/EthereumVaultConnector.sol",
"src/EVault/modules/Vault.sol",
"certora/helpers/DummyERC20A.sol",
"certora/helpers/DummyERC20B.sol",
"certora/harness/EVCHarness.sol",
"certora/harness/BaseHarness.sol",
"certora/harness/ERC4626Harness.sol",
],
"verify": "ERC4626Harness:certora/specs/VaultERC4626.spec",
"solc": "solc8.23",
"rule_sanity": "basic",
"msg": "Vault ERC4626",
"packages": [
"ethereum-vault-connector=lib/ethereum-vault-connector/src",
"forge-std=lib/forge-std/src"
],
"rule": ["assetsMoreThanSupply",],
"parametric_contracts": ["ERC4626Harness"],
"build_cache": true,
"prover_args": [
"-maxConcurrentTransforms INLINED_HOOKS:8",
"-smt_nonLinearArithmetic true -adaptiveSolverConfig false -splitParallel true -splitParallelInitialDepth 2 -depth 15 -s [z3:arith1,yices:def] -mediumTimeout 2 -splitParallelTimelimit 7200"
],
"prover_version" : "master",
// Performance tuning options below this line
"solc_via_ir": true,
"solc_optimize": "10000",
"optimistic_loop": true,
"loop_iter": "2",
"smt_timeout": "7200"
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"files": [
"lib/ethereum-vault-connector/src/EthereumVaultConnector.sol",
"src/EVault/modules/Vault.sol",
"certora/helpers/DummyERC20A.sol",
"certora/helpers/DummyERC20B.sol",
"certora/harness/EVCHarness.sol",
"certora/harness/BaseHarness.sol",
"certora/harness/ERC4626Harness.sol",
],
"verify": "ERC4626Harness:certora/specs/VaultERC4626.spec",
"solc": "solc8.23",
"rule_sanity": "basic",
"msg": "Vault ERC4626",
"packages": [
"ethereum-vault-connector=lib/ethereum-vault-connector/src",
"forge-std=lib/forge-std/src"
],
"rule": ["convertToAssetsWeakAdditivity"],
"parametric_contracts": ["ERC4626Harness"],
"build_cache": true,
"prover_version" : "master",
// Performance tuning options below this line
"solc_via_ir": true,
"solc_optimize": "10000",
"optimistic_loop": true,
"loop_iter": "2",
"disable_auto_cache_key_gen": true,
"fe_version": "latest",
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"files": [
"lib/ethereum-vault-connector/src/EthereumVaultConnector.sol",
"src/EVault/modules/Vault.sol",
"certora/helpers/DummyERC20A.sol",
"certora/helpers/DummyERC20B.sol",
"certora/harness/EVCHarness.sol",
"certora/harness/BaseHarness.sol",
"certora/harness/ERC4626Harness.sol",
],
"verify": "ERC4626Harness:certora/specs/VaultERC4626.spec",
"solc": "solc8.23",
"rule_sanity": "basic",
"msg": "Vault ERC4626",
"packages": [
"ethereum-vault-connector=lib/ethereum-vault-connector/src",
"forge-std=lib/forge-std/src"
],
"rule": ["convertToSharesWeakAdditivity"],
"parametric_contracts": ["ERC4626Harness"],
"build_cache": true,
"prover_version" : "master",
// Performance tuning options below this line
"solc_via_ir": true,
"solc_optimize": "10000",
"optimistic_loop": true,
"loop_iter": "2",
"disable_auto_cache_key_gen": true,
"fe_version": "latest",
}

32 changes: 32 additions & 0 deletions certora/conf/ERC4626Split/VaultERC4626-depositMonotonicity.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"files": [
"lib/ethereum-vault-connector/src/EthereumVaultConnector.sol",
"src/EVault/modules/Vault.sol",
"certora/helpers/DummyERC20A.sol",
"certora/helpers/DummyERC20B.sol",
"certora/harness/EVCHarness.sol",
"certora/harness/BaseHarness.sol",
"certora/harness/ERC4626Harness.sol",
],
"verify": "ERC4626Harness:certora/specs/VaultERC4626.spec",
"solc": "solc8.23",
"rule_sanity": "basic",
"msg": "Vault ERC4626",
"packages": [
"ethereum-vault-connector=lib/ethereum-vault-connector/src",
"forge-std=lib/forge-std/src"
],
"rule": ["depositMonotonicity",],
"parametric_contracts": ["ERC4626Harness"],
"build_cache": true,
"prover_version" : "master",
// Performance tuning options below this line
"solc_via_ir": true,
"solc_optimize": "10000",
"optimistic_loop": true,
"loop_iter": "2",
"disable_auto_cache_key_gen": true,
"fe_version": "latest",
"smt_timeout": "7200"
}

32 changes: 32 additions & 0 deletions certora/conf/ERC4626Split/VaultERC4626-dustFavorsTheHouse.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"files": [
"lib/ethereum-vault-connector/src/EthereumVaultConnector.sol",
"src/EVault/modules/Vault.sol",
"certora/helpers/DummyERC20A.sol",
"certora/helpers/DummyERC20B.sol",
"certora/harness/EVCHarness.sol",
"certora/harness/BaseHarness.sol",
"certora/harness/ERC4626Harness.sol",
],
"verify": "ERC4626Harness:certora/specs/VaultERC4626.spec",
"solc": "solc8.23",
"rule_sanity": "basic",
"msg": "Vault ERC4626",
"packages": [
"ethereum-vault-connector=lib/ethereum-vault-connector/src",
"forge-std=lib/forge-std/src"
],
"rule": ["dustFavorsTheHouse",],
"parametric_contracts": ["ERC4626Harness"],
"build_cache": true,
"prover_version" : "master",
// Performance tuning options below this line
"solc_via_ir": true,
"solc_optimize": "10000",
"optimistic_loop": true,
"loop_iter": "2",
"disable_auto_cache_key_gen": true,
"fe_version": "latest",
"smt_timeout": "7200"
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"files": [
"lib/ethereum-vault-connector/src/EthereumVaultConnector.sol",
"src/EVault/modules/Vault.sol",
"certora/helpers/DummyERC20A.sol",
"certora/helpers/DummyERC20B.sol",
"certora/harness/EVCHarness.sol",
"certora/harness/BaseHarness.sol",
"certora/harness/ERC4626Harness.sol",
],
"verify": "ERC4626Harness:certora/specs/VaultERC4626.spec",
"solc": "solc8.23",
"rule_sanity": "basic",
"msg": "Vault ERC4626",
"packages": [
"ethereum-vault-connector=lib/ethereum-vault-connector/src",
"forge-std=lib/forge-std/src"
],
"rule": ["dustFavorsTheHouseAssets",],
"parametric_contracts": ["ERC4626Harness"],
"build_cache": true,
"prover_version" : "master",
// Performance tuning options below this line
"solc_via_ir": true,
"solc_optimize": "10000",
"optimistic_loop": true,
"loop_iter": "2",
"disable_auto_cache_key_gen": true,
"fe_version": "latest",
"smt_timeout": "7200"
}

36 changes: 36 additions & 0 deletions certora/conf/ERC4626Split/VaultERC4626-noAssetsIfNoSupply.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"files": [
"lib/ethereum-vault-connector/src/EthereumVaultConnector.sol",
"src/EVault/modules/Vault.sol",
"certora/helpers/DummyERC20A.sol",
"certora/helpers/DummyERC20B.sol",
"certora/harness/EVCHarness.sol",
"certora/harness/BaseHarness.sol",
"certora/harness/ERC4626Harness.sol",
],
"verify": "ERC4626Harness:certora/specs/VaultERC4626.spec",
"solc": "solc8.23",
"rule_sanity": "basic",
"msg": "Vault ERC4626",
"packages": [
"ethereum-vault-connector=lib/ethereum-vault-connector/src",
"forge-std=lib/forge-std/src"
],
"rule": ["noAssetsIfNoSupply",],
"parametric_contracts": ["ERC4626Harness"],
"build_cache": true,
"prover_version" : "master",
// Performance tuning options below this line
"solc_via_ir": true,
"solc_optimize": "10000",
"optimistic_loop": true,
"loop_iter": "2",
"disable_auto_cache_key_gen": true,
"fe_version": "latest",
"prover_args": [
"-maxConcurrentTransforms INLINED_HOOKS:6",
"-smt_nonLinearArithmetic true -adaptiveSolverConfig false -depth 0 "
],
"smt_timeout": "7200"
}

32 changes: 32 additions & 0 deletions certora/conf/ERC4626Split/VaultERC4626-noSupplyIfNoAssets.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"files": [
"lib/ethereum-vault-connector/src/EthereumVaultConnector.sol",
"src/EVault/modules/Vault.sol",
"certora/helpers/DummyERC20A.sol",
"certora/helpers/DummyERC20B.sol",
"certora/harness/EVCHarness.sol",
"certora/harness/BaseHarness.sol",
"certora/harness/ERC4626Harness.sol",
],
"verify": "ERC4626Harness:certora/specs/VaultERC4626.spec",
"solc": "solc8.23",
"rule_sanity": "basic",
"msg": "Vault ERC4626",
"packages": [
"ethereum-vault-connector=lib/ethereum-vault-connector/src",
"forge-std=lib/forge-std/src"
],
"rule": ["noSupplyIfNoAssets",],
"parametric_contracts": ["ERC4626Harness"],
"build_cache": true,
"prover_version" : "master",
// Performance tuning options below this line
"solc_via_ir": true,
"solc_optimize": "10000",
"optimistic_loop": true,
"loop_iter": "2",
"disable_auto_cache_key_gen": true,
"fe_version": "latest",
"smt_timeout": "7200"
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"files": [
"lib/ethereum-vault-connector/src/EthereumVaultConnector.sol",
"src/EVault/modules/Vault.sol",
"certora/helpers/DummyERC20A.sol",
"certora/helpers/DummyERC20B.sol",
"certora/harness/EVCHarness.sol",
"certora/harness/BaseHarness.sol",
"certora/harness/ERC4626Harness.sol",
],
"verify": "ERC4626Harness:certora/specs/VaultERC4626.spec",
"solc": "solc8.23",
"rule_sanity": "basic",
"msg": "Vault ERC4626",
"packages": [
"ethereum-vault-connector=lib/ethereum-vault-connector/src",
"forge-std=lib/forge-std/src"
],
"prover_args": [
"-maxConcurrentTransforms INLINED_HOOKS:8"
],
"rule": ["onlyContributionMethodsReduceAssets"],
"parametric_contracts": ["ERC4626Harness"],
"build_cache": true,
"prover_version" : "master",
// Performance tuning options below this line
"solc_via_ir": true,
"solc_optimize": "10000",
"optimistic_loop": true,
"loop_iter": "2",
"smt_timeout": "7200"
}

33 changes: 33 additions & 0 deletions certora/conf/ERC4626Split/VaultERC4626-totalsMonotonicity.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"files": [
"lib/ethereum-vault-connector/src/EthereumVaultConnector.sol",
"src/EVault/modules/Vault.sol",
"certora/helpers/DummyERC20A.sol",
"certora/helpers/DummyERC20B.sol",
"certora/harness/EVCHarness.sol",
"certora/harness/BaseHarness.sol",
"certora/harness/ERC4626Harness.sol",
],
"verify": "ERC4626Harness:certora/specs/VaultERC4626.spec",
"solc": "solc8.23",
"rule_sanity": "basic",
"msg": "Vault ERC4626",
"packages": [
"ethereum-vault-connector=lib/ethereum-vault-connector/src",
"forge-std=lib/forge-std/src"
],
"prover_args": [
"-maxConcurrentTransforms INLINED_HOOKS:8"
],
"rule": ["totalsMonotonicity"],
"parametric_contracts": ["ERC4626Harness"],
"build_cache": true,
"prover_version" : "master",
// Performance tuning options below this line
"solc_via_ir": true,
"solc_optimize": "10000",
"optimistic_loop": true,
"loop_iter": "2",
"smt_timeout": "7200"
}

Loading
Loading