Skip to content

Deployed Contracts

Farhaan edited this page Jul 28, 2023 · 2 revisions

In the MPL V2 release, a few contracts will need to be deployed and set up in order for the new token work correctly. Those contracts are:

MapleToken (Implementation)

This is the contract that will hold the logic for the token and will be delegated to by the proxy.

MapleTokenProxy (Non-Transparent-Proxy)

This is will be actual token address of this release, which users and protocols will use to interact with MPL V2.

MapleTokenInitializer

This contract is used to perform one time operations needed for the correct creation of MPL V2. It's meant to be delegate called to it's only function, initialize, to perform the following operations:

  1. Initialize ERC20 variables.
  2. Mint additional supply to treasury.
  3. Mint v1 supply to migrator contract (see below).

These operations are done atomically and can never be re-done.

RecapitalizationModule

This contract is used to govern the minting of MPL V2

Migrator

This contract is responsible for allowing v1 holders to exchange their MPLv1 for MPL V2 at a 1:1 rate. More documentation on the procedure can be found in the Migration Process section.