MLN Token Migration Instructions

John Orthwein
Enzyme
Published in
5 min readJan 28, 2019

This is a guide for users who have self-custody of MLN tokens. Please ensure that you follow all steps carefully and in the order detailed here. If your MLN tokens are held on a centralized exchange before February 1st 2019, there is no action for you to take.

If you are in self custody of your tokens, the new MLN token must be actively claimed.

In order to obtain the new MLN tokens, you will need to do each of the steps in this two-part instruction guide.

The first part guides you through approving your MLN tokens (quantity) with the migration contract. This will allow the migration contract to transfer your MLN tokens on your behalf.

The second part guides you through sending the transaction that will swap your old MLN token into brand new MLN tokens.

After completing both steps, you should see your account holding a 0 balance in the original MLN token and the exact same original quantity of the new MLN token (assuming you are migrating your full balance of MLN tokens).

Estimated time: If you follow exactly the steps of this guide, you should be done within 10 min (assuming normal Ethereum network conditions).

First things first, go to: https://mycrypto.com/account

PART I : Calling the approve() function on the MLN contract

Step 1: Go to the “Tools” | “Interact with Contracts” section of MyCrypto

Step 2: Fill in contract informations of the “old” MLN token then click “Access”

Contract Address: 0xBEB9eF514a379B997e0798FDcC901Ee474B6D9A1

ABI: http://api.etherscan.io/api?module=contract&action=getabi&address=0xBEB9eF514a379B997e0798FDcC901Ee474B6D9A1&format=raw

Press Ctrl-A to highlight all text, copy and paste the contents into the “ABI / JSON Interface” area. Click “Access”.

Step 3: Select the function approve under the “Read/Write Contract” section, fill in spender and value.

Spender address (migration contract): 0x3c75d37b579e0e4896f02c0122baa4de05383a6a

Fill in the “value:uint256” field with the amount of tokens your address holds. This is the quantity of MLN tokens for which you are approving transfer by the migration contract. You should approve the entire quantity of MLN tokens held on the current address.

ATTENTION!: Make sure that you filled in the “value:uint256” field, and not the “Value” field seen further below. Failure to do this will result in loss of ETH. The “Value” field must be left empty.

If you are using Metamask, you may not see the precise quantity of MLN tokens, but a rounded figure. You can confirm the precise quantity held by your address on known Ethereum explorers like etherscan.io.

If your address holds 10 MLN tokens, you will fill in:

10000000000000000000

(10 * 10¹⁸ or your number followed by eighteen “0”).

If your address holds 112.123456789 MLN tokens, you will fill in:

112123456789000000000

If your address holds 0.987654321 MLN tokens, you will fill in:

987654321000000000

Step 4: Select your preferred login method.

Step 5: Adjust gas price if necessary and click “Write”, then “Generate transaction” and then “Send transaction”. Then confirm the transaction with your chosen method (Metamask, Ledger etc.).

After having sent your transaction you can click on the “Verify Etherscan” button in the green banner.

On Etherscan, wait until you see your transaction with the status “Success” in green:

PART II: Calling the transmute() function on the migration contract

After Part I, please reload https://mycrypto.com/account

Step 1: Go to the “Tools” | “Interact with Contracts” section of MyCrypto

Step 2: Fill in contract informations of the Alchemist migration contract then click “Access”

Contract Address: 0x3c75d37b579e0e4896f02c0122baa4de05383a6a

ABI: http://api.etherscan.io/api?module=contract&action=getabi&address=0x3c75d37b579e0e4896f02c0122baa4de05383a6a&format=raw

Step 3: Select the function transmute under the “Read/Write Contract” section, and fill in the “_mass uint256” field

As above, fill in the field “_mass uint256” with the amount of tokens your address holds: if I hold 10 MLN tokens, I will fill in 10000000000000000000 (10 * 10¹⁸ or your number followed by eighteen “0”). This should be the same amount as in PART I Step 3.

ATTENTION!: Make sure in the previous step you filled in the “_mass uint256” field, and not the “Value” field seen further below. Failure to do this will result in loss of ETH. The “Value” field must be left empty.

Step 4: Select your preferred login method.

Step 5: Untick the “Automatically calculate gas limit” box. Adjust gas LIMIT (not gas price!) to 100,000.

If you want to prevent the transaction from running out of gas, you can set a very high gas limit like 100,000. The transaction will go through and only use what is really needed (way below 100,000).

Step 6: Click “Write”, then “Generate transaction” and then “Send transaction”. Then confirm the transaction with your chosen method (Metamask, Ledger etc.).

You will need to confirm these actions in the wallet access method you selected above.

After having sent your transaction you can click on the “Verify Etherscan” button in the green banner.

On Etherscan, wait until you see your transaction with the status “Success” in green:

When this transaction is confirmed, you should be able to verify that you now have a 0 balance of old MLN tokens and your correct quantity (used above) of new MLN tokens. You can go to this page:

https://etherscan.io/token/0xec67005c4e498ec7f55e092bd1d35cbc47c91892#readContract

and fill in your wallet address under the ‘balanceOf’ section. You should see the amount of new MLN tokens you own (i.e. the number of tokens you migrated).

Congratulations and thank you!

--

--