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. 0x0B4ec400e8D10218D0869a5b0036eA4BCf92d905 0xBdC97D61E8198880c966716df8613cb2fE073D90 0x357d636c40A8E3FbFC983D960292D9fEf56104cb
DiamondCutFacet.sol Called by governance to add, replace, and remove functions of a facet, as well as add new facets to meTokens protocol. 0x82419BBb80C20BA4945Af39a11e26d3Be13E8C3C 0x899Ea44C5140a66d83C44E5B856e9feEf3aa87d6 0x7c7aa31bb530a4B9b6E4F3d0d1a22C92e35d1EFA
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. 0x59F96e820A1f11Ad6FAeEE11513Ed163B109494B 0x6c8E3DF44E602aBf638e083e4BD3039BA3707133 0x5B76A197e8E546c2F728d678DC36b747B1295021
OwnershipFacet.sol Provides access control for meTokens protocol. Learn more HERE. 0xBf4c9c5eaf23C0210b343896Ad0aECb70d74bCFb 0x8c9ce2b1DaD40EA6fd95C0acFbEA977519De5099 0xd97f0E387f2A57662a231d61400ed55AcD0b4c74
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. 0x8b91FcF2230ab04A46e2D83aaF062EC1B5AAAa5c 0xab90dDCBD864c4D6f51B20d969E06d70399aB79d 0x4194072271Ac8b48aC593aF8e41ef421Eee1d592
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(). 0xA56AAF637b057a5EDf7b7252D0B7280042E71335 0x09a2e447ED411EaC76c5aff9168bde1f9D4B154f 0xa09fb72e6befFce4761F427A899556D7c4b18CBB
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. 0x4555cf6E984186F6C0dfeba1A26764b21553B39f 0xa6A9320205A290903DA361b8a2073284787acF7f 0x94458A55f626A551C3776B731981c8849c1E0E64
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 0x3FC010F716A77d065D0c98663eB1Ce6a291edBAA 0x13cD4179405356Ed7E54E0bB08358815Bb1Aa5e4 0x29BD82e1c0D845ffd641A5184eE3ece0eF151e19
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. 0x480e29421F2b490d014468D5C527516Ee7f86f10 0xE4EDc07ccB3591ADeDa26d965bdE988Ec75a2Dc7 0xD1F3a93D5D241D24d5f81048A94D4F78d7d9a250
Registry Contracts
VaultRegistry.sol Manages approved vaults for a hub to use. 0x3b1265e3997349B100764BA08416CCc277fbeeFb 0x9e624C959bf9b69b833Acebdc80a4BC33751a42e 0xf6Fb5D7dDC4fE2d3dbC6193F65bF7DDa844773e9
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. 0x247f600bAa33A3aAb7f93d6774Cb689ABC897517 0x8Ec7eA65769D8162b7706DD48F03d3dCc241ECAE 0x73A6EABAf8b5E8A5A231b39d6baB16C3d5F25CEE
Vault Contracts
SingleAssetVault.sol Base meTokens protocol vault which manages basic ERC20-like underlying assets of created meTokens. 0x6BB0B4889663f507f50110B1606CE80aBe9a738d 0x47fF07BfD0cdFaD6650177f661E8cC977FA8Bf36 0x2Dc5b10F1Bf395795b0c993Ccf031DC8E5b29491
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 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. 0x8D4ee3599aF814bF3Aa884c161f0dE81d9e97225 0x88B30Fe63473EeB33a0E2E8e46563c265AC3FD49 0x899716ba52378CaA30259A576F4c89329e512915
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 Minimal Fowarder. 0x5fFb9EDD354f71AbE7F8bb26B8d9577D92B3efFd 0xDE0a3a8946116f9b06Dfbc28252584c500a11cd7
MetaTx EOA External Owned Account wallet that is paying for gas via meta-transactions for select community members 0x060b688084e9ed9e5d69f045462ca82de55e41cd

<aside> ⚠️ Note: Rinkeby contracts are deprecated

</aside>