v1.0.0 Morpho-AaveV3
Deployment Addresses (ethereum mainnet)
- Morpho Proxy: 0x33333aea097c193e66081e930c33020272b33333
- Morpho Implementation: 0xcb5309bdda3463ece2d020c9d0564a95c5a90b53
- PositionsManager: 0x4592e45e0c5dbee94a135720ccff2e4353dac6de
What's Changed
- Feat/base 1 by @pakim249CAL in #12
- feat: add interest rates functionality by @pakim249CAL in #14
- Add PR template by @MerlinEgalite in #21
- Update setup by @Rubilmax in #15
- Implement base framework by @MerlinEgalite in #7
- Refactor naming promote/demote by @MerlinEgalite in #20
- Add commitlint checks by @Rubilmax in #37
- refactor: user markets and liquidity data rework by @pakim249CAL in #31
- Supply/Borrow/Withdraw/Repay by @pakim249CAL in #27
- feat: supply/withdraw as collateral by @pakim249CAL in #29
- fix: fix merge and remove unnecessary addition by @pakim249CAL in #51
- feat: Separate setters from getters and add more setters by @Rubilmax in #53
- Refactor/underlying key and argument order by @pakim249CAL in #52
- refactor: remove Libraries.sol and Interfaces.sol by @pakim249CAL in #49
- Merge main to license-3 by @pakim249CAL in #62
- fix(license): update identifier by @Rubilmax in #54
- Review Merlin 0 by @MerlinEgalite in #64
- feat: add test framework by @pakim249CAL in #71
- Make contracts inherit interfaces by @Rubilmax in #77
- Add claim rewards on behalf by @MerlinEgalite in #82
- Refactor input validation by @Rubilmax in #83
- Gather up market-side indexes in storage & memory by @Rubilmax in #84
- Add increase p2p deltas logic by @Rubilmax in #79
- Merge positions managers by @Rubilmax in #87
- Make pool & addresses provider immutable by @Rubilmax in #81
- Round in favor of the protocol by @Rubilmax in #86
- Remove erc1155 by @Rubilmax in #91
- Implement
RewardsManager
by @MerlinEgalite in #28 - test: add library tests for market balance, pool interactions by @pakim249CAL in #75
- Pass pool as constructor arg by @Rubilmax in #95
- Fork at test construction by @Rubilmax in #100
- Implement base allowance system by @MerlinEgalite in #96
- Refactor validation by @MerlinEgalite in #105
- Implement positions management by @MerlinEgalite in #98
- refactor: liquidity data stack too deep re-engineering by @pakim249CAL in #102
- Implement EIP712 for approve manager by @MerlinEgalite in #108
- feat: add missing getters and updated index and liquidity data getters by @pakim249CAL in #113
- Test allowances by @MerlinEgalite in #111
- Implement permit functions by @MerlinEgalite in #116
- refactor: create internal functions for entry points by @MerlinEgalite in #121
- Add github action by @Rubilmax in #106
- Test/matching engine by @pakim249CAL in #119
- Test/morpho internal 1 by @pakim249CAL in #99
- Implement e-mode by @MerlinEgalite in #125
- Separate fork tests from integration tests by @Rubilmax in #122
- Make domain separator immutable by @Rubilmax in #132
- Make tests faster by running them with different fuzzing settings by @Rubilmax in #136
- Implement permit2 by @MerlinEgalite in #120
- refactor: internalize market creation and increase deltas by @pakim249CAL in #127
- Feat/supply cap by @pakim249CAL in #109
- Move input validation before indexes update by @Rubilmax in #135
- Refactor/move adding to collateral list by @pakim249CAL in #144
- Remove maxLoops on repay/withdraw by @Rubilmax in #141
- Add collateral supply/withdraw paused setters by @Rubilmax in #142
- refactor: componentize positions manager fns by @pakim249CAL in #130
- fix: collateral calculations and some validation errors by @pakim249CAL in #148
- chore: add ankr rpc by @pakim249CAL in #168
- fix: match delta by @pakim249CAL in #165
- Integrate new DS by @MerlinEgalite in #140
- Implement ownable 2 steps by @MerlinEgalite in #161
- Add missing getters by @MerlinEgalite in #146
- Bullet point list does not link issues to PR on GitHub by @Rubilmax in #157
- Free the bytecode by @MerlinEgalite in #176
- fix: seize to use collateral and add test by @pakim249CAL in #173
- Cache e-mode category id as immutable by @Rubilmax in #177
- Refactor various things by @Rubilmax in #169
- Fix idle withdraw bug by @Rubilmax in #182
- Emit indexes event on update by @Rubilmax in #189
- fix: test imports and changed vars by @pakim249CAL in #203
- Refactor setters by @MerlinEgalite in #263
- Use internal balance getters by @Rubilmax in #260
- P2P amount updates by @MerlinEgalite in #262
- Add claim to treasury function by @MerlinEgalite in #265
- Add treasury vault setter by @Rubilmax in #279
- Remove unnecessary early return by @Rubilmax in #281
- Remove oracle sentinel borrow/withdraw by @MerlinEgalite in #284
- Refactor various by @MerlinEgalite in #266
- Use encodeCall instead of encodeWithSelector by @Rubilmax in #272
- Remove unnecessary collateral check by @Rubilmax in #273
- Refactor naming & interfaces by @Rubilmax in #271
- refactor: use granular getters for pool params by @pakim249CAL in #267
- Log idle supply updates by @MerlinEgalite in #268
- Correct division by p2pIndex by @MerlinEgalite in #288
- Add user nonce incremented event by @Rubilmax in #291
- Replace deciamls with tokenUnit temporary assignment by @Rubilmax in #282
- Refactor various 2 by @MerlinEgalite in #292
- Various events improvements by @Rubilmax in #261
- Move delta logic to library by @Rubilmax in #278
- Move pause statuses to market library by @Rubilmax in #290
- Refactor the liquidation mechanism by @Rubilmax in #259
- Natspecs for all by @MerlinEgalite in #294
- Move events emissions by @MerlinEgalite in #295
- Emit true amount in accounting events by @Rubilmax in #309
- Fix events and balance update by @MerlinEgalite in #307
- refactor: remove shadowing in market lib by @pakim249CAL in #318
- Remove redundant call by @MerlinEgalite in #319
- Prevent the DAO to claim the idle liquidity by @MerlinEgalite in #315
- fix: market balance test name by @pakim249CAL in #325
- Add missing doc changes by @MerlinEgalite in #300
- Make integration test setup by @Rubilmax in #328
- Revert on supply cap exceeded by @MerlinEgalite in #331
- Renaming loop -> iterate by @MerlinEgalite in #356
- chore: rename market side delta lib fns by @pakim249CAL in #342
- fix: market deprecated all pause fix by @pakim249CAL in #352
- chore: refine repay fee natspec by @pakim249CAL in #358
- fix: borrow balance getter by @pakim249CAL in #359
- chore: reorder vars to be consistent by @pakim249CAL in #357
- Simplify Permit2Lib by @MerlinEgalite in #308
- Return correct P2P balance in increaseP2P by @MerlinEgalite in #333
- Various refactor by @MerlinEgalite in #392
- Amount to process first by @MerlinEgalite in #396
- Refactor naming by @MerlinEgalite in #398
- refactor: balance internal by @pakim249CAL in #397
- Prevent listing of an asset in E-mode by @MerlinEgalite in #395
- Fix decrease P2P by @MerlinEgalite in #336
- refactor: remove useless return var in _collateralData by @MathisGD in #312
- Move init in Morpho for clarity by @MerlinEgalite in #402
- refactor: index events by @pakim249CAL in #354
- Remove temp var by @MerlinEgalite in #418
- Add missing e-mode getters by @MerlinEgalite in #399
- Correct order of return values by @MerlinEgalite in #420
- Set e-mode at initialization by @MerlinEgalite in #408
- Fix p2p disable option 1 by @MerlinEgalite in #414
- Add enumerable set update comment by @Rubilmax in #425
- Harmonize function order by @MerlinEgalite in #417
- Load stable debt token from storage by @MerlinEgalite in #421
- refactor: remove underlying from market lib pause statuses by @pakim249CAL in #353
- Refactor
_assetLiquidityData
by @MathisGD in #313 - Revert #395 by @MerlinEgalite in #410
- Upgrade to latest version of buckets by @QGarchery in #426
- Add getNext and getBucketsMask by @QGarchery in #427
- Missing amount to process first by @MerlinEgalite in #413
- Move logic in MarketLib by @MerlinEgalite in #400
- Improve test setup by @Rubilmax in #428
- docs: constructor natspec by @MathisGD in #429
- Implement morpho supply borrow caps by @MerlinEgalite in #416
- chore: clarify delta borrow side comment by @pakim249CAL in #441
- docs: natspec getNext by @MathisGD in #432
- Re-order return values AGAIN by @Rubilmax in #446
- fix: borrow caps and stable debt token by @pakim249CAL in #440
- test: delta lib by @pakim249CAL in #321
- test: market side delta by @pakim249CAL in #323
- Improve integration test setup again by @Rubilmax in #445
- Test/position components by @pakim249CAL in #149
- refactor EIP712 by @pakim249CAL in #458
- Remove mock folder by @MerlinEgalite in #472
- Fix idle supply upon repay by @Rubilmax in #450
- Improve test setup again again by @Rubilmax in #469
- Fix misleading comment by @MerlinEgalite in #489
- Fork mainnet by @Rubilmax in #483
- fix: use correct liquidation bonus in e-mode by @MerlinEgalite in #470
- Update DS by @MerlinEgalite in #488
Permit2Lib
renaming by @MerlinEgalite in #487- Fix repay/withdraw all dust issue by @Rubilmax in #447
- fix: add proportion idle zero check to computing p2p index by @pakim249CAL in #477
- Fix/internal p2p index by @pakim249CAL in #498
- refactor: use reserve config instead of entire data by @pakim249CAL in #495
- Add min max iteration to withdraw by @MerlinEgalite in #480
- Count reserve treasury into supply cap by @Rubilmax in #493
- Defer liquidity check after accounting by @Rubilmax in #491
- Add WETH gateway by @MerlinEgalite in #496
- Test/positions internal caps by @pakim249CAL in #479
- Fix CI by @MerlinEgalite in #508
- chore: rename delta and p2p amount in interest rates model lib by @pakim249CAL in #476
- Use permit2 repo by @MerlinEgalite in #484
- Various minor improvements by @MathisGD in #434
- Update ds for verification by @QGarchery in #510
- Harmonize contracts by @MerlinEgalite in #506
- Docs remove bad pattern by @MerlinEgalite in #505
- Fix unused named return by @QGarchery in #513
- fix: deltas and P2PTotal naming by @MathisGD in #509
- Improve test setup again again again by @Rubilmax in #500
- test: make namings consistent by @pakim249CAL in #517
- Fix e mode amount to seize by @MerlinEgalite in #514
- Dev by @Rubilmax in #457
- Test lifecycle improvements by @MerlinEgalite in #521
- Script/deploy tenderly by @pakim249CAL in #490
- Fix ci withdraw collateral test by @MerlinEgalite in #536
- test: make visibilities consistent by @pakim249CAL in #530
- Test/interest rates by @pakim249CAL in #461
- Test WETH gateway by @MerlinEgalite in #502
- Revert contract changes by @MerlinEgalite in #541
- fix: scripts not updated in merge by @pakim249CAL in #547
- Comment idle growth factor by @QGarchery in #551
- Use 50% close factor when hf is 0.95 by @Rubilmax in #564
- Fix WETH gateway tests by @Rubilmax in #560
- Add lifecycle integrated tests by @Rubilmax in #139
- Test liquidation by @MerlinEgalite in #531
- Stay the most chain-agnostic possible by @Rubilmax in #573
- test: add supply gap helpers by @pakim249CAL in #545
- fix: add validate liquidate by @pakim249CAL in #554
- Make push & pr CI triggers independent by @Rubilmax in #578
- Add CI type property by @Rubilmax in #580
- Surround secrets with template expression by @Rubilmax in #582
- Cannot use secrets in job condition by @Rubilmax in #583
- test: emode function by @Tristan22400 in #535
- Clean up claim rewards unit test setup by @Rubilmax in #579
- Comment repay fix by @Tristan22400 in #570
- Fix/repay fee p2p total by @pakim249CAL in #565
- Test fix repay by @MerlinEgalite in #586
- test: add more market lib tests and events by @pakim249CAL in #532
- fix: bubble up correct onPool and inP2P in updateDS by @pakim249CAL in #594
- Merge main to dev by @Rubilmax in #584
- Fix missing claim rewards setter by @MerlinEgalite in #567
- Fix
RewardsManager
computation by @MerlinEgalite in #587 - Add WETH gateway return values by @Rubilmax in #602
- Fix refund excess repay by @MerlinEgalite in #588
- Add sanity checks upon WETH gateway construction by @Rubilmax in #601
- Trigger CI on test only changes by @Rubilmax in #610
- test: remove broken test for now by @pakim249CAL in #616
- Fix deal aave snapshot bug by @Rubilmax in #585
- Add skim function by @Rubilmax in #605
- Conform to storage variable pattern by @MerlinEgalite in #609
- Dont emit event when delta not decreased by @Rubilmax in #600
- fix: replace manager from nonce event with caller by @pakim249CAL in #628
- Revert when repaid zero by @Rubilmax in #574
- Harmonize integration tests by @Rubilmax in #620
- Fix e-mode oracle price by @MerlinEgalite in #590
- test: remove balance interest test completely by @pakim249CAL in #622
- Add WETH Gateway interface by @Rubilmax in #604
- Check sentinel during a borrow by @MerlinEgalite in #599
- Fix broken CI by @Rubilmax in #630
- Fuzz indexes during unit tests by @Rubilmax in #515
- fix: bubble up new onPool and inP2P values from updateInDS by @pakim249CAL in #626
- Upgrade test by @pakim249CAL in #577
- Make price sentinel & close factor independent by @Rubilmax in #571
- Use custom errors zero amount by @Rubilmax in #629
- Test Fee and Claim To treasury by @Tristan22400 in #549
- test: supplement matching engine test with events by @pakim249CAL in #623
- Various small improvements by @Rubilmax in #621
- Create reserve data test lib by @Rubilmax in #592
- Conservative collateral value by @QGarchery in #617
- Fix/failing test by @Tristan22400 in #614
- Test/repay fee by @Tristan22400 in #591
- Prevent market creation of siloed borrowing assets by @Rubilmax in #633
- Deposit collateral to enable future Morpho borrows (test) by @Rubilmax in #643
- Withdraw integration test failing fix by @Rubilmax in #644
- Fix positions manager E-mode option #2 by @MerlinEgalite in #597
- Increase fee test tolerance by @Rubilmax in #645
- Add deprecation tests by @Rubilmax in #561
- Add internal test initialization by @Rubilmax in #612
- refactor(fmt): update forge fmt by @Rubilmax in #651
- test: add p2p deltas test by @pakim249CAL in #642
- Add eth-specific e-mode tests by @Rubilmax in #649
- Factorize config e-mode by @Rubilmax in #656
- Refactor revert amount zero by @MerlinEgalite in #655
- Merge conflict by @Rubilmax in #660
- Revert when rewards manager is zero by @Rubilmax in #658
- test: morpho setters by @pakim249CAL in #637
- Rename misleading _boundAmount in integration test by @Rubilmax in #665
- Add getters integration tests by @Rubilmax in #663
- Fix
_boundAmount
error by @Rubilmax in #666 - Externalize collateral conversion to utility by @Rubilmax in #631
- Patch CI by @MerlinEgalite in #677
- Perf small gas optis by @MerlinEgalite in #654
- chore: update README by @pakim249CAL in #675
- Use e-mode ltv/lt in tests by @Rubilmax in #661
- Make CI cache better by @Rubilmax in #676
- Refactor collateral setters by @MerlinEgalite in #680
- Set asset as collateral by @MerlinEgalite in #569
- Test/fix usdt by @pakim249CAL in #686
- Complete NATSPECs by @MerlinEgalite in #634
- Add base invariant setup by @Rubilmax in #667
- Test/permit2 by @Tristan22400 in #650
- ✨ Add auto doc by @julien-devatom in #646
- fix: collateral rewards by @pakim249CAL in #695
- Fix CI by @Rubilmax in #698
- docs(morpho): add maxIterations default value by @Rubilmax in #693
- Fix create market with
LT = 0
by @MerlinEgalite in #685 - Fix supply 0 to pool by @MerlinEgalite in #688
- Fix/proportion idle by @pakim249CAL in #699
- Remove usdt from collateral in integration tests by @Rubilmax in #706
- Fix broken CI again again again again by @Rubilmax in #712
- Small changes on RM by @MerlinEgalite in #711
- Feat/rewards manager getters by @pakim249CAL in #704
- Test/missing tests by @pakim249CAL in #682
- feat: proposed user index fix by @pakim249CAL in #715
- Simplify asset as collateral test setup by @Rubilmax in #608
- Fix index update in RM by @MerlinEgalite in #714
- test: add invariant assertion for collateral and borrows by @pakim249CAL in #718
- test: remove borrowable in isolation check by @pakim249CAL in #726
- test: fix e-mode test by @pakim249CAL in #730
- test: fuzz over looping by @pakim249CAL in #720
- Rename isManaging to isManagedBy by @Rubilmax in #732
- Test/repay all with permit by @Tristan22400 in #716
- Update dependencies by @Rubilmax in #638
- Proposed layout of p2p amount idle supply fix by @pakim249CAL in #731
- Add borrowable not in e-mode by @Rubilmax in #733
- Increase integration test fuzz runs by @Rubilmax in #743
- Increase integration test tolerance by @Rubilmax in #747
- feat: add starting index to rewards manager getter by @pakim249CAL in #745
- Improve docs by @Rubilmax in #751
- Test/rewards manager by @pakim249CAL in #705
- Increase test tolerance again by @Rubilmax in #752
- Fix internal test assertion tolerance by @Rubilmax in #753
- Decrease fuzz runs by @Rubilmax in #757
- Fix morpho borrow receiver in repay test by @Rubilmax in #758
- Fix idle supply in p2p amount by @MerlinEgalite in #729
- Add idle supply in repay fee tests by @MerlinEgalite in #742
- Refine unit/internal fee tests by @pakim249CAL in #739
- Add invariants by @Rubilmax in #750
- Added readme sections by @Rubilmax in #759
- Apply
dev
feedback by @Rubilmax in #762 - Dev by @MerlinEgalite in #550
- Remove useless test by @MerlinEgalite in #767
- Allow the DAO to unset any asset as collateral on pool by @MerlinEgalite in #768
- Add cbETH & rETH to test suite (main) by @Rubilmax in #774
- Update misleading comment at market creation by @MerlinEgalite in #788
- Remove unnecessary check in RewardsManager by @Rubilmax in #791
- Switch to public DS repo by @MerlinEgalite in #796
New Contributors
- @MathisGD made their first contribution in #312
- @QGarchery made their first contribution in #426
- @Tristan22400 made their first contribution in #535
- @julien-devatom made their first contribution in #646
Full Changelog: https://github.com/morpho-org/morpho-aave-v3/commits/v1.0.0