Important
This token is now deprecated. The Morpho Token has been redeployed with new features allowing onchain governance (see https://github.com/morpho-org/morpho-token).
Holders of the legacy token can wrap it for the new one (more information in the docs). The legacy token will stay non-transferable forever to avoid mistakes.
The Morpho Token contract inherits the semi-transferable token pattern built by @adhusson, a contributor of Morpho DAO and a core contributor of Mangrove DAO. Please, refer to the semi-transferable repository to learn more about its functionalities and specificities.
The Morpho token’s lifecycle can be split into three main stages. Note that token holders can burn their tokens at any stage.
The Morpho Association (ADDMO) has deployed the Morpho Token and minted 200 million tokens. It then transferred the ownership of the Token Contract to the Morpho DAO, which minted 800 million tokens. At this point, the token is non-transferable by default.
The DAO can decide on contracts that will be allowed to transfer tokens. For example, these allowed contracts could be handling Morpho token distributions like the RewardsDistributor
and the IncentivesVault
directly built in the morpho-core-v1 repository.
The Morpho DAO can then decide to allow anyone to transfer freely their tokens by setting:
token.setPublicCapability(Token.transfer.selector, true);
token.setPublicCapability(Token.transferFrom.selector, true);
After cloning the repo, run:
git submodule update --init --recursive
Tests can be run using:
forge test
The semi-transferable repository has been audited by Omniscia. The audit report can be found here or in this file Morpho_Omniscia.