Council Transparency Report: migrateTo()

Report Author: Christopher Von Hessert (on behalf of the Polygon Protocol Council)

Address: 0x9d851f8b8751c5FbC09b9E74E6e68E9950949052 (Polygon Security Multisig)

Relating to:

  1. PIP-57: Add migrateTo() in the POL Migration Contract, discussed on Polygon Protocol Governance Call 29.

Change type: Regular change via the emergency track with PC Consensus: 10/13

Introduction

This document is an official communication between the Polygon Protocol Council and the community. It aims to provide transparency to all community members regarding upcoming regular network changes.

In this transparency report, the Protocol Council (‘PC’) outlines the execution details of an upgrade to the POL DefaultEmissionManager.sol contract.

The upgrade contains:

PIP-57 execution: Add migrateTo() in the POL Migration Contract, discussed in Polygon Protocol Governance Call 29.
Code PR: https://github.com/0xPolygon/pol-token/pull/68

Motivation

Execute an upgrade to the POL Migration contract to allow users to migrate MATIC to POL to a user-defined recipient address, improving flexibility.

Execution

The subsequent section of the code provides a detailed overview of the execution specifications related to the proposed system smart contract change. These specifications are essential to understand the functioning and implementation of the upgrade:

Part 1: Deployment

Deploy New PolygonMigration.sol implementation, version 1.2.0

The new version of the DefaultEmissionManager has been deployed on Ethereum Mainnet:
(0xB037347ef306db3b41aB0b250F891887039d9231)
Deployment PR is here: https://github.com/0xPolygon/pol-token/pull/69

Part 2: Upgrade

Propose the transaction in the Emergency Protocol Council (0x37D085ca4a24f6b29214204E8A8666f12cf19516)

Inputs for Upgrade

PolygonMigration Proxy: 0x29e7DF7b6A1B2b07b731457f499E1696c60E2C4e

Implementation: 0xB037347ef306db3b41aB0b250F891887039d9231

ProxyAdmin: 0xEBea33f2c92D03556b417F4F572B2FbbE62C39c3

ProxyAdmin owner: 0x37D085ca4a24f6b29214204E8A8666f12cf19516 (Emergency PC)

Payload

To:
eth:0xEBea33f2c92D03556b417F4F572B2FbbE62C39c3

Value:

0

data:
0x99a88ec400000000000000000000000029e7df7b6a1b2b07b731457f499e1696c60e2c4e000000000000000000000000b037347ef306db3b41ab0b250f891887039d9231

Decoded:

  • Function 0x99a88ec4: upgrade(address,address)
  • Inputs:
    • Proxy: 0x29e7df7b6a1b2b07b731457f499e1696c60e2c4e
    • Implementation: 0xB037347ef306db3b41aB0b250F891887039d9231

Part 3: Execution (in Safe)

The scheduled proposal can be executed by calling the function “execute” on the Safe.

Part 4: Validation

Once the upgrade is done, we can check the following things:

Part 5: Documentation

Implementation: 0xB037347ef306db3b41aB0b250F891887039d9231

Safe Transaction Hash:

0xe6d148aed9db16eb5c62a38f0929c79aa3c26566efa22776d12902ef9dc85f1a

Addendum

  1. Polygon Forum: https://forum.polygon.technology/ is a discourse forum for governance-related discussions. Community members must register for an account before sharing their views.
  2. Read more about PIP-29: Polygon Protocol Council here: https://github.com/maticnetwork/Polygon-Improvement-Proposals/blob/main/PIPs/PIP-29.md

Copyrights

All copyrights and related rights in this work are waived under CC0 1.0 Universal.