Block Deployed 15684640 7724484 11150062
Diamond Contracts Mainnet Goerli Rinkeby
Diamond.sol Core meTokens protocol proxy contract. Through it you can query all meTokens facets and return stored meTokens protocol data. https://etherscan.io/address/0x0B4ec400e8D10218D0869a5b0036eA4BCf92d905 https://goerli.etherscan.io/address/0xBdC97D61E8198880c966716df8613cb2fE073D90 https://rinkeby.etherscan.io/address/0x357d636c40A8E3FbFC983D960292D9fEf56104cb#code
DiamondCutFacet.sol Called by governance to add, replace, and remove functions of a facet, as well as add new facets to meTokens protocol. https://etherscan.io/address/0x82419BBb80C20BA4945Af39a11e26d3Be13E8C3C https://goerli.etherscan.io/address/0x899Ea44C5140a66d83C44E5B856e9feEf3aa87d6 https://rinkeby.etherscan.io/address/0x7c7aa31bb530a4B9b6E4F3d0d1a22C92e35d1EFA#code
DiamondLoupeFacet.sol Provides helper functions for tools to look at the meTokens diamond and query information such as all facet addresses and their function selectors. https://etherscan.io/address/0x59F96e820A1f11Ad6FAeEE11513Ed163B109494B https://goerli.etherscan.io/address/0x6c8E3DF44E602aBf638e083e4BD3039BA3707133 https://rinkeby.etherscan.io/address/0x5B76A197e8E546c2F728d678DC36b747B1295021#code
OwnershipFacet.sol Provides access control for meTokens protocol. Learn more https://metokenslabs.notion.site/accad6f811754ddd8c4a2c23e157c279. https://etherscan.io/address/0xBf4c9c5eaf23C0210b343896Ad0aECb70d74bCFb https://goerli.etherscan.io/address/0x8c9ce2b1DaD40EA6fd95C0acFbEA977519De5099 https://rinkeby.etherscan.io/address/0xd97f0E387f2A57662a231d61400ed55AcD0b4c74#code
Core Contracts
MeTokenRegistryFacet.sol Manages all state for a meToken within meTokens protocol. From it you can create your meToken and subscribe to a hub, resubscribe your meToken to a different hub, and transfer ownership of your meToken to another user. https://etherscan.io/address/0x8b91FcF2230ab04A46e2D83aaF062EC1B5AAAa5c https://goerli.etherscan.io/address/0xab90dDCBD864c4D6f51B20d969E06d70399aB79d https://rinkeby.etherscan.io/address/0x4194072271Ac8b48aC593aF8e41ef421Eee1d592#code
FoundryFacet.sol Manages all minting and burning of meTokens, enables the donation of assets to a meToken owner, and provides calculations for the amount of meTokens minted from mint() and assets returned from burn(). https://etherscan.io/address/0xA56AAF637b057a5EDf7b7252D0B7280042E71335 https://goerli.etherscan.io/address/0x09a2e447ED411EaC76c5aff9168bde1f9D4B154f https://rinkeby.etherscan.io/address/0xa09fb72e6befFce4761F427A899556D7c4b18CBB#code
HubFacet.sol Manages all hubs for meTokens protocol. A hub is a unique configuration for a bonding curve of which any meToken can subscribe to. When a meToken is subscribed to a hub, it will also use that hubs’ vault and underlying asset. https://etherscan.io/address/0x4555cf6E984186F6C0dfeba1A26764b21553B39f https://goerli.etherscan.io/address/0xa6A9320205A290903DA361b8a2073284787acF7f https://rinkeby.etherscan.io/address/0x94458A55f626A551C3776B731981c8849c1E0E64#code
FeeFacet.sol Manages the fee rates for using meTokens, controlled by governance with a max rate of 5%. Fees for interacting with meTokens protocol may exist for:
• Minting a meToken
• Burning a meToken as a user for the underlying asset
• Burning a meToken as the meToken issuer for the underlying asset https://etherscan.io/address/0x3FC010F716A77d065D0c98663eB1Ce6a291edBAA https://goerli.etherscan.io/address/0x13cD4179405356Ed7E54E0bB08358815Bb1Aa5e4 https://rinkeby.etherscan.io/address/0x29BD82e1c0D845ffd641A5184eE3ece0eF151e19#code
CurveFacet.sol Provides additional views into using the meTokens curve. This curve is identical to Bancor with an additional formula to calculate minting from 0 supply. https://etherscan.io/address/0x480e29421F2b490d014468D5C527516Ee7f86f10 https://goerli.etherscan.io/address/0xE4EDc07ccB3591ADeDa26d965bdE988Ec75a2Dc7 https://rinkeby.etherscan.io/address/0xD1F3a93D5D241D24d5f81048A94D4F78d7d9a250#code
Registry Contracts
VaultRegistry.sol Manages approved vaults for a hub to use. https://etherscan.io/address/0x3b1265e3997349B100764BA08416CCc277fbeeFb https://goerli.etherscan.io/address/0x9e624C959bf9b69b833Acebdc80a4BC33751a42e https://rinkeby.etherscan.io/address/0xf6Fb5D7dDC4fE2d3dbC6193F65bF7DDa844773e9#code
MigrationRegistry.sol Manages all migration routes for if a meToken changes its’ underlying asset by resubscribing to a different hub which uses a different vault and/or asset. https://etherscan.io/address/0x247f600bAa33A3aAb7f93d6774Cb689ABC897517 https://goerli.etherscan.io/address/0x8Ec7eA65769D8162b7706DD48F03d3dCc241ECAE https://rinkeby.etherscan.io/address/0x73A6EABAf8b5E8A5A231b39d6baB16C3d5F25CEE#code
Vault Contracts
SingleAssetVault.sol Base meTokens protocol vault which manages basic ERC20-like underlying assets of created meTokens. https://etherscan.io/address/0x6BB0B4889663f507f50110B1606CE80aBe9a738d https://goerli.etherscan.io/address/0x47fF07BfD0cdFaD6650177f661E8cC977FA8Bf36 https://rinkeby.etherscan.io/address/0x2Dc5b10F1Bf395795b0c993Ccf031DC8E5b29491#code
SameAssetTransferMigration.sol Provides a SingleAssetVault to hold a meTokens’ underlying asset for when a meToken resubscribes to a different hub with the same underlying asset.
UniswapSingleTransferMigration.sol Provides a SingleAssetVault that instantly swaps a meTokens’ underlying asset to a new asset when the meToken is resubscribing to a different hub with a different underlying asset. It uses Chainlink’s https://docs.chain.link/docs/feed-registry/ to fetch the spot price of the asset and provides a max slippage protection of 5%.
Implementation Contracts
MeTokenFactory.sol Creates and deploys a users’ meToken based on the ERC20 standard. https://etherscan.io/address/0x8D4ee3599aF814bF3Aa884c161f0dE81d9e97225 https://goerli.etherscan.io/address/0x88B30Fe63473EeB33a0E2E8e46563c265AC3FD49 https://rinkeby.etherscan.io/address/0x899716ba52378CaA30259A576F4c89329e512915#code
MeToken.sol This ERC20 contract defines every user-created MeToken and is created through the MeTokenFactory.
Auxiliary Contracts
MinimalFowarder.sol meTokens Protocol deployment of Open Zeppelin’s https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/metatx/MinimalForwarder.sol. https://etherscan.io/address/0x5fFb9EDD354f71AbE7F8bb26B8d9577D92B3efFd https://goerli.etherscan.io/address/0xDE0a3a8946116f9b06Dfbc28252584c500a11cd7
MetaTx EOA External Owned Account wallet that is paying for gas via meta-transactions for select community members https://etherscan.io/address/0x060b688084e9ed9e5d69f045462ca82de55e41cd

<aside> ⚠️ Note: Rinkeby contracts are deprecated

</aside>