Spearbit review fixes
Pre-release
Pre-release
MerlinEgalite
released this
13 Nov 15:07
·
613 commits
to main
since this release
What's Changed
- First working version by @MathisGD in #1
- Multiple markets by @MathisGD in #2
- Liquidations by @QGarchery in #4
- Fix safeTransfer by @MathisGD in #25
- Files renaming by @MathisGD in #20
- Use pure function for to get the id of a market by @MerlinEgalite in #32
- Pin hh version by @MerlinEgalite in #35
ALPHA
by @MerlinEgalite in #56- Perf small gas opti by @MerlinEgalite in #31
- Simplify
isHealthy
by @QGarchery in #58 - Remove accrue interest supplycollat by @MerlinEgalite in #52
- Add formatting on pre commit by @MerlinEgalite in #68
- Add owner by @MerlinEgalite in #43
- CI update by @MathisGD in #74
- Add IRM whitelist by @MerlinEgalite in #59
- Enable lLTV by @MerlinEgalite in #73
- Estimate gas cost of liquidations by @QGarchery in #7
- Style
uint
->uint256
by @MerlinEgalite in #95 - Accrue interests checks borrow is non zero by @QGarchery in #91
- Dev by @QGarchery in #5
- Fix realize bad debt not reducing borrow by @QGarchery in #102
- refactor(shares): extract shares math to lib by @Rubilmax in #94
- Hardhat CI by @QGarchery in #118
- Supply/Repay on behalf by @MerlinEgalite in #106
- Feat/fee by @pakim249CAL in #116
- Add account approval by @MerlinEgalite in #108
- Fix fee tests by @MathisGD in #141
- Fix compilation by @MerlinEgalite in #134
- test(hardhat): bump dependencies by @Rubilmax in #146
- fix(repay/withdraw): edge case by @Rubilmax in #149
- refactor(errors): extract errors to libraries by @Rubilmax in #126
- ci(hardhat): change code by @Rubilmax in #151
- Refactor: shares management by @Rubilmax in #109
- Refactor: internal functions by @Rubilmax in #154
- perf(oracle): store price onto stack by @Rubilmax in #113
- Add fee cap by @MerlinEgalite in #161
- put market in memory instead of calldata by @MerlinEgalite in #152
- feat(extsload): expose generic storage getter by @Rubilmax in #147
- refactor(callbacks): split callbacks by @makcandrov in #167
- feat: cap max fee to 25% by @PaulFrambot in #186
- refactor(test): use market-lib 2 by @MerlinEgalite in #189
- Update to solc 0.8.21 by @MerlinEgalite in #187
- refactor(test): use market-lib by @Rubilmax in #170
- refactor(wad): remove wad constant declaration by @Rubilmax in #176
- feat(flash-loan): add flash loan by @Rubilmax in #168
- Fix tests of feat/receiver by @MathisGD in #193
- Add callbacks by @makcandrov in #121
- Refactor:
transferOwnership
->setOwner
by @MerlinEgalite in #196 - fixes after review #121 (authorization with signature) by @MathisGD in #192
- test(forge): merge receiver tests by @Rubilmax in #200
- Add receiver by @MerlinEgalite in #191
- Skip interest accrual if already accrued in the same block by @makcandrov in #182
- test(hardhat): skip mining sometimes by @Rubilmax in #198
- Add authorization with signature by @MerlinEgalite in #114
- Put market in IBlue.sol by @MathisGD in #211
- refactor: remove interfaces from Market by @MathisGD in #213
address(0)
alternative 2 by @MerlinEgalite in #204- Remove flashloan receiver by @MathisGD in #207
- Fix shares naming discrepancy by @MathisGD in #212
- refactor(blue): add interface by @Rubilmax in #180
- feat(events): add events by @Rubilmax in #107
- refactor: make
createMarket
more straightforward by @makcandrov in #216 - feat(shares-math): add util to get shares from amount by @Rubilmax in #221
- repay/withdraw shares input by @MathisGD in #194
- Good formatting by @MerlinEgalite in #224
- refactor: move events by @pakim249CAL in #220
- refactor: homogenize
IBlue
withBlue
naming by @julien-devatom in #234 - test: prevent receiver = BORROWER by @MathisGD in #237
- refactor:
setAuthorization
=>setAuthorizationWithSig
by @julien-devatom in #235 - feat: improve continuous integration setup by @julien-devatom in #240
- fix(set-fee): accrue interests before changing fee by @Rubilmax in #243
- refactor(blue): use single oracle by @Rubilmax in #202
- feat: compound interest by @pakim249CAL in #222
- Amount and shares as input by @MathisGD in #248
- refactor: move events back to lib by @pakim249CAL in #263
- Various changes in libs by @MathisGD in #241
- List tests in BTT format by @makcandrov in #174
- refactor(imports): don't use absolute imports by @Rubilmax in #267
- Harmonize callbacks interfaces (250) by @MathisGD in #250
- Add Natspecs by @MerlinEgalite in #238
- Return amount and shares by @makcandrov in #272
- Rename Blue to Morpho by @MerlinEgalite in #270
- chore: reduce the number of fuzz CI by @MathisGD in #276
- ci(formatting): don't checkout submodules by @Rubilmax in #275
- feat: continuous compounding by @pakim249CAL in #254
- Refactor amount -> assets by @MerlinEgalite in #277
- Add warning on repay/withdraw by @MerlinEgalite in #279
- New liquidation incentive by @MathisGD in #265
- feat(interests): make accrueInterests public by @Rubilmax in #183
- Tiny doc fixes by @MerlinEgalite in #285
- Refactor
setAuthorizationWithSig
and add warning message by @MathisGD in #284 - chore: explicit imports by @pakim249CAL in #287
- Fixed oracle price scale by @MathisGD in #252
- Custom libs by @MerlinEgalite in #280
- fix: nonce check by @MathisGD in #289
- Add return values liquidate by @MerlinEgalite in #295
- fix: update the tree by @makcandrov in #292
- Add idToMarket getter by @MerlinEgalite in #278
- Fix accrue interests shares fee computation by @QGarchery in #296
- Change EVM version in solc by @MathisGD in #303
- Refactor testing suite by @makcandrov in #218
- Improve tests coverage by @makcandrov in #317
- Add updated in lib getters by @MerlinEgalite in #307
- Various tests fixes by @makcandrov in #320
- docs: adjust natspec and inline comment for more context, typos by @sohkai in #328
- Interests -> interest by @MerlinEgalite in #329
- Refactor SafeTransferLib and interfaces by @QGarchery in #343
- feat(accrued-interests): add interests library by @Rubilmax in #171
- Various docs improvements by @MathisGD in #335
- Other casting (v7) by @MathisGD in #359
- Better casting (v7) by @MathisGD in #356
- Conform to Blue code style by @QGarchery in #334
- refactor: lower virtual shares by @pakim249CAL in #283
- Add a comment about the virtual shares trade-off by @QGarchery in #361
- chore: max optimizer runs by @MathisGD in #362
- Refactor renaming assets by @MerlinEgalite in #363
- Storage packing (version 7) by @MathisGD in #355
- Minor gas optimizations by @moodlezoup in #336
- Use relative imports by @MerlinEgalite in #368
- Storage refactor review by @QGarchery in #372
- Various small improvements by @MathisGD in #371
- Switch back to solidity version 0.8.19 by @QGarchery in #378
- External getter name by @QGarchery in #377
- refactor: move prettier config to
package.json
by @julien-devatom in #382 - Emit events slightly later by @MathisGD in #391
- MorphoLib perf and test by @MathisGD in #384
- Bad debt realization gas cost by @MathisGD in #388
- docs(morpho): fix format by @Rubilmax in #395
- Test UtilsLib by @MathisGD in #386
- refactor(balances): return total borrow shares by @Rubilmax in #396
- Format comments by @MathisGD in #380
- Format by @MathisGD in #406
- Add error message for uint128 by @MerlinEgalite in #407
- Test flashloans by @makcandrov in #403
- Remove
accrueInterest
by @MathisGD in #405 - Revert on already set by @MathisGD in #408
- MarketParams naming by @MathisGD in #412
- Document
idToMarketParams
by @MathisGD in #411 - More renaming of market into marketParams by @QGarchery in #416
- Feat: invariant tests by @Jean-Grimal in #231
- feat: pass Market to IRM by @MathisGD in #364
- refactor(constants): move them out of Morpho by @Rubilmax in #413
- Add repaidShares argument to liquidate function by @Jean-Grimal in #322
- docs(oracle): update natspecs by @Rubilmax in #421
- Remove name in
DOMAIN_SEPARATOR
by @MathisGD in #425 - Refactor various by @MerlinEgalite in #419
- refactor(pragma): update solidity pragmas by @Rubilmax in #426
- Fix: compilation without via-IR by @Jean-Grimal in #401
- refactor(position): rename user to position by @Rubilmax in #423
- Tests minor fixes by @QGarchery in #431
- fix
lastUpdate
update in_accrueInterest
by @MathisGD in #443 - perf: use assembly to compute id by @MerlinEgalite in #432
- build(deps-dev): bump dev dependencies by @Rubilmax in #440
- Refactor tests by @Rubilmax in #417
- test(hardhat): bump to ethers v6 by @Rubilmax in #444
- Review of comments, libraries and interfaces by @QGarchery in #438
- Document external contracts requirements by @MathisGD in #414
- feat: add license by @PaulFrambot in #420
- Add comment on flash loans liquidity by @MathisGD in #446
- fix(repay): underflow on repay max by @Rubilmax in #436
- test: add lltv shifting and authorization double spend tests by @pakim249CAL in #449
- Fix libraries license broken link by @MerlinEgalite in #453
- refactor(yarn): dont force compilation by @Rubilmax in #452
- Fix one file misnamed in tests by @QGarchery in #462
- test(integration): use morpho balances lib by @Rubilmax in #429
- test(hardhat): revert to old tests by @Rubilmax in #463
- L02 -
require
Statements With Multiple Conditions by @MerlinEgalite in #482 - L-05 Replay Attacks Are Possible After Hardforks by @MerlinEgalite in #484
- N-06 Use of Hardcoded Numbers by @MerlinEgalite in #486
- L-09 Rounding Error Might Prevent Borrowing at the Maximum Limit by @MerlinEgalite in #489
- N-02 Variable Cast Is Unnecessary by @MerlinEgalite in #497
- L-01 Multiple Pragma Statements Span Several Minor Versions of Solidity by @MerlinEgalite in #502
- Remove useless import by @MerlinEgalite in #503
- Rename
borrowableToken
toloanToken
by @MathisGD in #470 - N-08 SafeTransferLib Does Not Revert on Zero Address by @MerlinEgalite in #485
- dev comments improvements by @MathisGD in #455
- L-03 Missing Docstrings by @MerlinEgalite in #493
- LIF naming by @MathisGD in #506
- Change mail [email protected] to [email protected] by @MerlinEgalite in #508
- build(deps): remove oz by @Rubilmax in #510
- refactor(test): fix various issues by @Rubilmax in #498
- Add OZ audit by @MerlinEgalite in #514
- whitepaper by @MathisGD in #525
- Use makeAddr by @MerlinEgalite in #527
- fix(remappings): use relative imports (option 4) by @Rubilmax in #521
- docs: constructor natspec by @MathisGD in #528
- Update readme by @MerlinEgalite in #523
- Remove last absolute import by @QGarchery in #531
- Docs/fix wpp by @MathisGD in #532
- docs: minor change readme by @MathisGD in #529
- docs: minor fix whitepaper by @MathisGD in #537
- fix: typos by @poolpitako in #533
- Calculate correct amount of shares by @MerlinEgalite in #539
- refactor(remappings): remove remappings by @Rubilmax in #543
- test(liquidate): dont realize bad debt by @Rubilmax in #544
- feat(audit): fixing typo in security review report by @tomrpl in #541
- build(tsconfig): update to standard by @Rubilmax in #561
- Feat/add npm ci by @julien-devatom in #560
- Emit owner at deployment by @MerlinEgalite in #549
- fix(authorization): loosen inequality by @Rubilmax in #551
- Clarify fee recipient documentation by @MerlinEgalite in #554
- Acknowledge EIP-3156 non compliance by @MerlinEgalite in #553
- Rename expected balance for assets by @MerlinEgalite in #550
- Document possible conversion reverts by @MerlinEgalite in #558
- Funds could be stuck if IRM reverts by @MerlinEgalite in #568
- Add public accrue interest function by @MerlinEgalite in #565
- Refactor interfaces by @MerlinEgalite in #567
- Add some missing comment by @MerlinEgalite in #559
- ci(foundry): skip failing invariants by @Rubilmax in #576
- fix(package): replace postinstall with prepare by @Rubilmax in #575
UtilsLib.zeroFloorSub
is not utilised consistently by @MerlinEgalite in #557- chore: remove invariants in CI by @MathisGD in #587
- ci: remove invariant by @MerlinEgalite in #589
- Update
cantina-review
by @MerlinEgalite in #580 - Signature of
idToMarketParams
to return a struct by @QGarchery in #579 - Remove IRM call skip by @MathisGD in #574
- Cantina review by @MerlinEgalite in #572
- docs: document inflation attack (spearbit 40) by @MathisGD in #592
New Contributors
- @MerlinEgalite made their first contribution in #32
- @pakim249CAL made their first contribution in #116
- @makcandrov made their first contribution in #167
- @PaulFrambot made their first contribution in #186
- @julien-devatom made their first contribution in #234
- @sohkai made their first contribution in #328
- @moodlezoup made their first contribution in #336
- @Jean-Grimal made their first contribution in #231
- @poolpitako made their first contribution in #533
- @tomrpl made their first contribution in #541
Full Changelog: https://github.com/morpho-org/morpho-blue/commits/v1.0.0-alpha