Skip to content

Commit

Permalink
Merge pull request #876 from morpho-org/docs/implement-optimizers-naming
Browse files Browse the repository at this point in the history
docs: add Optimizers naming to the README
  • Loading branch information
MerlinEgalite committed Aug 19, 2023
2 parents eb40a2f + a582ada commit 6935ade
Showing 1 changed file with 18 additions and 18 deletions.
36 changes: 18 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Morpho-AaveV3
# Morpho-AaveV3 Optimizer

<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://i.imgur.com/uLq5V14.png">
Expand All @@ -7,33 +7,33 @@

---

## What is Morpho?
## What are Morpho Optimizers?

Morpho is a lending pool optimizer: it improves the capital efficiency of positions on existing lending pools by seamlessly matching users peer-to-peer.
Morpho Optimizers improve the capital efficiency of positions on existing lending pools by seamlessly matching users peer-to-peer.

- Morpho's rates stay between the supply rate and the borrow rate of the pool, reducing the interests paid by the borrowers while increasing the interests earned by the suppliers. It means that you are getting boosted peer-to-peer rates or, in the worst case scenario, the APY of the pool.
- Morpho also preserves the same experience, the same liquidity and the same parameters (collateral factors, oracles, …) as the underlying pool.
- Morpho's rates stay between the supply rate and the borrow rate of the pool, reducing the interest paid by the borrowers while increasing the interest earned by the suppliers. It means that you are getting boosted peer-to-peer rates or, in the worst-case scenario, the APY of the pool.
- Morpho also preserves the same experience, the same liquidity, and the same parameters (collateral factors, oracles, …) as the underlying pool.

TL;DR: Instead of borrowing or lending on your favorite AaveV3 pool, you would be better off using Morpho-AaveV3.

---

## Contracts overview

The Morpho protocol is designed at its core with the main Morpho contract delegating calls to the PositionsManager implementation contract (to overcome the contract size limit).
The Morpho protocol is designed at its core, with the main Morpho contract delegating calls to the PositionsManager implementation contract (to overcome the contract size limit).

The main user's entry points are exposed in the [`Morpho`](./src/Morpho.sol) contract. It inherits from [`MorphoGetters`](./src/MorphoGetters.sol) which contains all the functions used to query Morpho-AaveV3, [`MorphoSetters`](./src/MorphoSetters.sol) which contains all the functions used by the governance to manage the protocol, [`MorphoInternal`](./src/MorphoInternal.sol), and [`MorphoStorage`](./src/MorphoStorage.sol), where the protocol's internal logic & storage is located. This contract delegates call to the [`PositionsManager`](./src/PositionsManager.sol), that has the exact same storage layout: this contracts inherits from [`PositionsManagerInternal`](./src/PositionsManagerInternal.sol) which contains all the internal accounting logic and in turn inherits from [`MatchingEngine`](./src/MatchingEngine.sol), which contains the matching engine internal functions.
The main user's entry points are exposed in the [`Morpho`](./src/Morpho.sol) contract. It inherits from [`MorphoGetters`](./src/MorphoGetters.sol), which contains all the functions used to query Morpho-AaveV3, [`MorphoSetters`](./src/MorphoSetters.sol), which contains all the functions used by the governance to manage the protocol, [`MorphoInternal`](./src/MorphoInternal.sol), and [`MorphoStorage`](./src/MorphoStorage.sol), where the protocol's internal logic & storage is located. This contract delegates call to the [`PositionsManager`](./src/PositionsManager.sol), that has the same storage layout: this contract inherits from [`PositionsManagerInternal`](./src/PositionsManagerInternal.sol), which contains all the internal accounting logic and in turn inherits from [`MatchingEngine`](./src/MatchingEngine.sol), which contains the matching engine internal functions.

It also interacts with [`RewardsManager`](./src/RewardsManager.sol), which manages AaveV3's rewards if any.
It also interacts with [`RewardsManager`](./src/RewardsManager.sol), which manages AaveV3's rewards, if any.

---

## Documentation

- [White Paper](https://whitepaper.morpho.xyz)
- [Yellow Paper](https://yellowpaper.morpho.xyz/)
- [Morpho Documentation](https://docs.morpho.xyz)
- [Morpho Developers Documentation](https://developers.morpho.xyz)
- [White Paper](https://whitepaper.morpho.org)
- [Yellow Paper](https://yellowpaper.morpho.org/)
- [Morpho Documentation](https://docs.morpho.org)
- [Morpho Developers Documentation](https://developers.morpho.org)

---

Expand All @@ -46,13 +46,13 @@ All audits are stored in the [audits](./audits/)' folder.
## Bug bounty

A bug bounty is open on Immunefi. The rewards and scope are defined [here](https://immunefi.com/bounty/morpho/).
You can also send an email to [security@morpho.xyz](mailto:security@morpho.xyz) if you find something worrying.
You can also email [security@morpho.org](mailto:security@morpho.org) if you find something worrying.

---

## Deployment Addresses

### Morpho-Aave-V3 (Ethereum)
### Morpho-Aave-V3 Optimizer (Ethereum)

- Morpho Proxy: [0x33333aea097c193e66081e930c33020272b33333](https://etherscan.io/address/0x33333aea097c193e66081e930c33020272b33333)
- Morpho Implementation: [0xf835456cb1de3e39ab50a8a9fbb07ebec3a8ff67](https://etherscan.io/address/0xf835456cb1de3e39ab50a8a9fbb07ebec3a8ff67)
Expand Down Expand Up @@ -84,7 +84,7 @@ forge install morpho-dao/morpho-aave-v3

### Testing with [Foundry](https://github.com/foundry-rs/foundry) 🔨

Tests are run against a fork of real networks, which allows us to interact directly with liquidity pools of AaveV3. Note that you need to have an RPC provider that have access to Ethereum or Avalanche.
Tests are run against a fork of real networks, which allows us to interact directly with the liquidity pools of AaveV3. Note that you need an RPC provider with access to Ethereum or Avalanche.

For testing, make sure `foundry` is installed and install dependencies (git submodules) with:

Expand All @@ -100,13 +100,13 @@ To run the whole test suite:
make test
```

or to run only tests matching an input:
Or to run only tests matching an input:

```bash
make test-Borrow
```

or to run only unit, internal, integration or invariant tests:
Or to run only unit, internal, integration, or invariant tests:

```bash
make test-[unit/internal/integration/invariant]
Expand Down Expand Up @@ -165,7 +165,7 @@ The report is then usable either:

## Questions & Feedback

For any question or feedback you can send an email to [merlin@morpho.xyz](mailto:merlin@morpho.xyz).
For any questions or feedback, you can send an email to [merlin@morpho.org](mailto:merlin@morpho.org).

---

Expand Down

0 comments on commit 6935ade

Please sign in to comment.