Morpho Optimizers vaults represent tokenized supply positions on Morpho. Vaults are compliant with the ERC4626 standard and can be easily integrated. Please take a look at the vaults documentation for more information.
Vaults' audits are accessible in the audits' folder. All Morpho audits are accessible in the audits section of the Morpho documentation.
- mcDAI: 0x8F88EaE3e1c01d60bccdc3DB3CBD5362Dd55d707
- mcWETH: 0x676E1B7d5856f4f69e10399685e17c2299370E95
- mcCOMP: 0xaA768b85eC827cCc36D882c1814bcd27ec4A8593
- mcUNI: 0x496da625C736a2fF122638Dc26dCf1bFdEf1778c
- mcUSDC: 0xba9E3b3b684719F80657af1A19DEbc3C772494a0
- mcUSDT: 0xC2A4fBA93d4120d304c94E4fd986e0f9D213eD8A
- mcWBTC: 0xF31AC95fe692190b9C67112d8c912bA9973944F2
- Implementation: 0x07b7319aaf04f8a28c74fd5ca3ec01aa4af66069
- maWBTC: 0xd508f85f1511aaec63434e26aeb6d10be0188dc7
- maWETH: 0x490bbbc2485e99989ba39b34802fafa58e26aba4
- maDAI: 0x36f8d0d0573ae92326827c4a82fe4ce4c244cab6
- maUSDC: 0xa5269a8e31b93ff27b887b56720a25f844db0529
- maUSDT: 0xafe7131a57e44f832cb2de78ade38cad644aac2f
- maCRV: 0x9dc7094530cb1bcf5442c3b9389ee386738a190c
- Implementation: 0x86d61e37f68194b55d7590c230077e0f8607f563
- ProxyAdmin: 0x99917ca0426fbc677e84f873fb0b726bb4799cd8
Testing with Foundry 🔨
Tests are run against a fork of real networks, allowing us to interact directly with Compound or Aave liquidity pools. Note that you need an RPC provider with access to Ethereum or Polygon.
For testing, make sure yarn
and foundry
are installed and install dependencies (node_modules, git submodules) with:
make install
Alternatively, if you only want to set up
Refer to the env.example
for the required environment variable.
To run tests on different protocols, navigate a Unix terminal to the root folder of the project and run the command of your choice:
To run every test of a specific protocol (e.g. for Morpho-Compound):
make test PROTOCOL=compound
Or to run only a specific set of tests of a specific protocol (e.g. for Morpho-Aave V2):
make c-TestSupplyVault PROTOCOL=aave-v2
Or to run an individual test of a specific protocol (e.g. for Morpho-Aave V2):
make s-testShouldDepositAmount PROTOCOL=aave-v2
For the other commands, check the Makefile.
Test coverage is reported using foundry coverage with lcov report formatting (and optionally, genhtml transformer).
To generate the lcov
report, run the following:
make coverage
The report is then usable either:
- via Coverage Gutters following this tutorial
- via html, using
make lcov-html
to transform the report
For any question or feedback, email merlin@morpho.org.
The code is under the GNU AFFERO GENERAL PUBLIC LICENSE v3.0, see LICENSE
.